Repository: incubator-airflow
Updated Branches:
  refs/heads/master 68854e99b -> 4be1ffeec


[AIRFLOW-2615] Limit DAGs parsing to once only

Closes #3614 from verdan/double-dag-parsing


Project: http://git-wip-us.apache.org/repos/asf/incubator-airflow/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-airflow/commit/4be1ffee
Tree: http://git-wip-us.apache.org/repos/asf/incubator-airflow/tree/4be1ffee
Diff: http://git-wip-us.apache.org/repos/asf/incubator-airflow/diff/4be1ffee

Branch: refs/heads/master
Commit: 4be1ffeecd74464f2d4be54d7eb2df9c4962ed06
Parents: 68854e9
Author: Verdan Mahmood <[email protected]>
Authored: Tue Jul 24 01:07:15 2018 +0100
Committer: Kaxil Naik <[email protected]>
Committed: Tue Jul 24 01:07:15 2018 +0100

----------------------------------------------------------------------
 airflow/bin/cli.py        | 2 ++
 airflow/www_rbac/views.py | 5 ++++-
 2 files changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-airflow/blob/4be1ffee/airflow/bin/cli.py
----------------------------------------------------------------------
diff --git a/airflow/bin/cli.py b/airflow/bin/cli.py
index a245539..e200178 100644
--- a/airflow/bin/cli.py
+++ b/airflow/bin/cli.py
@@ -787,9 +787,11 @@ def webserver(args):
         app.run(debug=True, port=args.port, host=args.hostname,
                 ssl_context=(ssl_cert, ssl_key) if ssl_cert and ssl_key else 
None)
     else:
+        os.environ['SKIP_DAGS_PARSING'] = 'True'
         app = cached_app_rbac(conf) if settings.RBAC else cached_app(conf)
         pid, stdout, stderr, log_file = setup_locations(
             "webserver", args.pid, args.stdout, args.stderr, args.log_file)
+        os.environ.pop('SKIP_DAGS_PARSING')
         if args.daemon:
             handle = setup_logging(log_file)
             stdout = open(stdout, 'w+')

http://git-wip-us.apache.org/repos/asf/incubator-airflow/blob/4be1ffee/airflow/www_rbac/views.py
----------------------------------------------------------------------
diff --git a/airflow/www_rbac/views.py b/airflow/www_rbac/views.py
index 9ab75e4..e13da37 100644
--- a/airflow/www_rbac/views.py
+++ b/airflow/www_rbac/views.py
@@ -73,7 +73,10 @@ from airflow.www_rbac.widgets import AirflowModelListWidget
 
 
 PAGE_SIZE = conf.getint('webserver', 'page_size')
-dagbag = models.DagBag(settings.DAGS_FOLDER)
+if os.environ.get('SKIP_DAGS_PARSING') != 'True':
+    dagbag = models.DagBag(settings.DAGS_FOLDER)
+else:
+    dagbag = models.DagBag
 
 
 def get_date_time_num_runs_dag_runs_form_data(request, session, dag):

Reply via email to