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)