整个 DAG 的 Airflow 取决于_on_past

标签 airflow apache-airflow airflow-scheduler

有没有办法在 Airflow 中使用 depends_on_past对于整个 DagRun,而不仅仅是应用于任务?

我有一个每日 DAG,周五 DagRun 在第 4 个任务中出错,但周六和周日 DagRuns 仍然按计划运行。使用 depends_on_past = True会在同一个第 4 个任务上暂停 DagRun,但是前 3 个任务仍然会运行。

我可以在 DagRun DB 表中看到一个 state包含 failed 的列为星期五 DagRun。我想要的是一种将 DagRun 配置为在前一个 DagRun 失败时不启动的方法,在找到以前失败的任务之前不启动和运行。

有谁知道这是否可能?

最佳答案

在您的第一个任务中,设置 depends_on_past=Truewait_for_downstream=True ,该组合将导致当前 dag-run 仅在上次运行成功时运行。

因为通过在当前 dag-run 设置第一个任务将等待上一个
(depends_on_past) 和所有任务 (wait_for_downstream) 成功

关于整个 DAG 的 Airflow 取决于_on_past,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47533903/

相关文章:

airflow - 为一天内多次运行的外部任务的特定运行创建一个 Airflow ExternalTask​​Sensor

python - docker Airflow 配置问题 (puckel/docker)

airflow - 如何从不同的 dag 中获取所有失败任务的列表

Airflow:每分钟运行 DAG

airflow - 在 Airflow 中,有没有很好的方法来调用另一个dag的任务?

slack - Airflow 失败松弛消息

airflow - Airflow 可以用于运行永无止境的任务吗?

docker - 通过 Docker 登录 Airflow 的默认用户 ID 和密码是什么?

python - 给定 RAM 和 CPU 限制,如何使用 Airflow 主动控制 DAG

python - PythonOperator 的运行时配置