气流打包Dag(Zip)无法识别

Airflow Packaged Dag (Zip) not recognized

我正试图用DAG将我的存储库打包到一个zip文件中,就像文档中所说的那样。因此,我在文档中遵循了惯例,即将DAG保存在zip的根目录中,并且子目录被气流视为包。

我的zip文件包含以下内容:

1
2
3
4
5
6
7
8
9
10
$ unzip -l $AIRFLOW_HOME/dags/test_with_zip.zip
Archive:  /home/arjunc/Tutorials/airflow/dags/test_with_zip.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2018-03-29 17:46   helloworld/
      189  2018-03-29 17:22   helloworld/hello.py
        0  2018-03-29 17:18   helloworld/__init__.py
      461  2018-03-29 17:24   test_with_zip_dag.py
---------                     -------
      650                     4 files

其中test_with_zip_dag.py是根目录中的文件,DAG定义如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from datetime import datetime

from airflow import DAG
from airflow.operators.python_operator import PythonOperator

from helloworld.hello import HelloWorld


def run():
    return HelloWorld().run()


dag = DAG('test_with_zip', description='Test Dependencies With Zipping',
          schedule_interval='0 12 * * *',
          start_date=datetime(2017, 3, 20), catchup=False)

hello_operator = PythonOperator(task_id='hello_task', python_callable=run, dag=dag)

我已将此zip放在默认dags目录$airflow_home/dags中,但无法识别我的dag!

我做错什么了?

更新

当我重新启动Web服务器时,任务test_with_zip弹出,但它不能运行,因为调度程序似乎无法识别它。我(从Web界面)得到以下错误:

This DAG seems to be existing only locally. The master scheduler doesn't seem to be aware of its existence.


你穿的是哪个版本的气流?气流1.8.1在从拉链上加载DAG时出现问题。该问题已在1.8.3中解决。https://issues.apache.org/jira/browse/airflow-1357

我建议您更新到最新版本的airflow IE 1.9.0


您只提到重新启动Web服务器。

您还需要使用airflow scheduler启动调度程序。

另外,请参见此处的更多检查步骤:气流1.9.0正在排队,但不启动任务