更新添加任务后找不到Airflow DAG任务

时间:2017-07-13 09:53:01

标签: airflow

我无法更新dag文件。 Dag仍然有我的dag文件的旧版本。我添加了一个任务,但在检查日志和UI(DAG->代码)时似乎没有更新。

有人可以帮我找到出错的地方吗? 我的任务非常简单。 我当然检查了airflow.cfg中的dag目录路径并重新启动了airflow webserver / scheduler。 我没有运行它的问题(但使用旧的dag文件)。

谢谢!

6 个答案:

答案 0 :(得分:2)

看起来像气流的错误。临时解决方案是通过

从气流数据库中删除任务实例

delete from task_instance where dag_id=<dag_name> and task_id=<deleted_task_name>';

这应该比resetdb路由更简单且影响更小,后者将删除包括之前设置的变量和连接在内的所有内容。

答案 1 :(得分:0)

您可以尝试在dags文件夹中删除该dag的旧.pyc文件,然后重新生成。

答案 2 :(得分:0)

UI有时对我来说不是最新的,但代码实际上是在dag包里。您可以尝试:

  1. 使用刷新按钮查看代码是否已刷新
  2. 使用更高版本1.8+,这在我使用1.7.X之前发生在我身上,但在1.8+之后,在UI中刷新dag后似乎好多了
  3. 您还可以使用&#34;气流测试&#34;查看代码是否到位,并尝试@Him的建议。

答案 3 :(得分:0)

同样的事发生在我身上。

最后,最好的事情是“resetdb”,再次添加连接和导入变量,然后气流initdb并再次设置调度程序。

我不知道为什么会这样。有人知道吗?编译后添加任务或更改名称似乎不那么容易。删除* .pyc或logs文件夹对我来说不起作用。

答案 4 :(得分:0)

使用终端并在更改dag文件后立即运行以下命令。

airflow initdb

这对我有用。

答案 5 :(得分:0)

在 Airflow 网络服务器的 DAG 页面中,删除 DAG。它将删除数据库中的记录。过一会儿 DAG 会再次出现在页面中,但是旧的 task_id 被删除了。