我有一个dag,它定期检查要生成的新工作流程(动态DAG),如果找到,则创建它们。 (参考:Dynamic dags not getting added by scheduler)
以上DAG正在运行,动态DAG正在创建并在Web服务器中列出。这里有两个问题:
错误:
DAG“ app01_user”似乎丢失。
所有其他动态生成的DAG也是一样。我已经编译了Python脚本,没有发现错误。
编辑1: 我尝试清除所有数据并运行“气流运行”。它成功运行,但没有将动态生成的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”。
答案 0 :(得分:2)
当我收到此错误时,Web服务器日志中显示了一个异常。解决该错误并重新启动网络服务器后,它便正常运行。
从我可以看到,这是Web服务器尝试解析dag文件时抛出的错误,并且有错误。就我而言,导入我添加到插件的新运算符时出错。