Jeremiah Lowin created AIRFLOW-1005:
---------------------------------------

             Summary: 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


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)

Reply via email to