首页 > 解决方案 > 运行后 Apache Airflow dag 没有成功

问题描述

我创建了一个 dag,该 dag 在 Airflow UI 中可用,我打开它来运行它。运行 dag 后,状态显示它可以重试。之后我去服务器并使用命令“Airflow scheduler”,然后dag成功了。

在运行 dag 之前,调度程序已启动并运行,我不确定为什么会发生这种情况。当我们创建一个新的 dag 时,我们是否需要运行气流调度程序?想知道调度器是如何工作的。

谢谢

标签: airflowairflow-scheduler

解决方案


您可以将气流调度程序视为一个无限循环,它在每次迭代中检查任务的状态并触发已满足依赖关系的任务。

整个过程会生成一堆数据,这些数据在每一轮中堆积得越来越多,并且在某些时候,它可能最终使调度程序变得无用,因为它的性能会随着时间的推移而下降。这取决于您的 Airflow 版本,它似乎在最新版本 (2.0) 中得到解决,但对于较旧版本 (< 2.0) 的建议是每隔run_duration秒数重新启动调度程序,有些人建议将其设置为一次小时或一天一次。因此,除非您正在使用 Airflow 2.0,否则我认为这就是您正在经历的。

您可以在此处此处的天文学家发表的帖子中找到有关此调度程序重新启动问题的参考。


推荐阅读