首页 > 解决方案 > 达格好像不见了

问题描述

我有一个 dag,它会定期检查要生成的新工作流(动态 DAG),如果找到,则创建它们。(参考:调度程序未添加动态 dag

上面的 DAG 正在工作,动态 DAG 正在创建并在 Web 服务器中列出。这里有两个问题:

  1. 单击网页网址中的 DAG 时,显示“DAG 似乎丢失”
  2. 列出的 DAG 未使用“airflow list_dags”命令列出

错误:

DAG“app01_user”似乎不见了。

所有其他动态生成的 DAG 也是如此。我已经编译了 Python 脚本,没有发现任何错误。

Edit1:我尝试清除所有数据并运行“气流运行”。它运行成功,但没有将动态生成的 DAG 添加到“airflow list_dags”中。但是在运行命令“airflow list_dags”时,它会加载并执行 DAG(生成动态 DAG)。动态 DAG 也列出如下:

[root@cmnode dags]# airflow list_dags
sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8\nLANG=en_US.UTF-8)
sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8\nLANG=en_US.UTF-8)
[2019-08-13 00:34:31,692] {settings.py:182} INFO - settings.configure_orm(): Using pool settings. pool_size=15, pool_recycle=1800, pid=25386
[2019-08-13 00:34:31,877] {__init__.py:51} INFO - Using executor LocalExecutor
[2019-08-13 00:34:32,113] {__init__.py:305} INFO - Filling up the DagBag from /root/airflow/dags

/usr/lib/python2.7/site-packages/airflow/operators/bash_operator.py:70: PendingDeprecationWarning: Invalid arguments were passed to BashOperator (task_id: tst_dyn_dag). Support for passing such arguments will be dropped in Airflow 2.0. Invalid arguments were:
*args: ()
**kwargs: {'provide_context': True}
  super(BashOperator, self).__init__(*args, **kwargs)
-------------------------------------------------------------------
DAGS
-------------------------------------------------------------------
app01_user
app02_user
app03_user
app04_user
testDynDags

再次运行时,上面生成的所有 4 个 dag 都消失了,只显示基本 DAG,“testDynDags”。

标签: airflow

解决方案


当我收到此错误时,网络服务器日志中显示了一个异常。一旦我解决了该错误并重新启动了网络服务器,它就会正常运行。

据我所知,这是网络服务器尝试解析 dag 文件并且出现错误时引发的错误。在我的情况下,导入我添加到插件的新运算符是一个错误。


推荐阅读