You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Li Xuanji (JIRA)" <ji...@apache.org> on 2017/03/19 15:21:41 UTC
[jira] [Resolved] (AIRFLOW-1005) Speed up Airflow startup time
[ https://issues.apache.org/jira/browse/AIRFLOW-1005?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Li Xuanji resolved AIRFLOW-1005.
--------------------------------
Resolution: Fixed
Fix Version/s: 1.9.0
Issue resolved by pull request #2166
[https://github.com/apache/incubator-airflow/pull/2166]
> Speed up Airflow startup time
> -----------------------------
>
> Key: AIRFLOW-1005
> URL: https://issues.apache.org/jira/browse/AIRFLOW-1005
> Project: Apache Airflow
> Issue Type: Improvement
> Affects Versions: 1.8.0
> Reporter: Jeremiah Lowin
> Assignee: Jeremiah Lowin
> Priority: Minor
> Fix For: 1.9.0
>
> Attachments: Screen Shot 2017-03-17 at 6.04.23 PM.png
>
>
> Airflow takes approximately 1 second to import. It turns out that more than half the time is spend doing two things: importing Cryptography to create Fernet keys and importing Alembic.
> The first Cryptography import is in configuration.py and is only necessary if Airflow is generating a new airflow.cfg file (but currently gets run every time). Therefore it can be easily deferred.
> The second is in models.py to check if encryption is turned on. This can also be deferred until encryption checks are actually needed.
> Alembic is always imported even though it is only needed for running initdb() and upgradedb(). It can be lazily imported inside those functions.
> These simple changes reduce Airflow's startup time by half on my machine.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)