2017-07-01 372 views
3

我已经在名为tutorial_2.py(实际上是airflow教程中提供的tutorial.py的副本,但dag_id更改为tutorial_2)中定义了一个DAG。如何将新的DAG添加到Airflow?

当我看看我的默认,未修改airflow.cfg(位于~/airflow),我看到dags_folder设置为/home/alex/airflow/dags

我做cd /home/alex/airflow; mkdir dags; cd dags; cp [...]/tutorial_2.py tutorial_2.py。现在我有一个dags文件夹匹配在airflow.cfg中设置的路径,其中包含我之前创建的tutorial_2.py文件。

但是,当我运行airflow list_dags时,我只会得到与默认教程DAG相对应的名称。

我想让tutorial_2显示在我的DAG列表中,以便我可以开始与之交互。 python tutorial_2.pyairflow resetdb都没有导致它出现在列表中。

我该如何补救?

回答

3

我认为这是因为你还没有出口AIRFLOW_HOME。 试试看: AIRFLOW_HOME="/home/alex/airflow/dags" airflow list_dags。 如果这不工作比两步 export AIRFLOW_HOME="/home/alex/airflow/dags" airflow list_dags 我相信这应该工作。搏一搏?

+0

这应该是正确的答案,需要提醒的是,你可能* *需要检查和纠正'airflow_home'和' 'airflow.cfg'中的dags_folder'变量也是如此。我仍然不清楚为什么需要三个不同的变量。比照[这里](https://gitter.im/apache/incubator-airflow?at=59581e6c6ae41d5d33a61aae)。 –

2

在我的理解中,AIRFLOW_HOME应该链接到airflow.cfg的存储目录。然后,airflow.cfg可以应用并将dag目录设置为您放入的值。

重要的一点是:airflow.cfg是无用的,如果你的AIRFLOW_HOME没有设置

+0

恰恰是皮埃尔说的。^ –