有没有办法在 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=True
和 wait_for_downstream=True
,该组合将导致当前 dag-run 仅在上次运行成功时运行。
因为通过在当前 dag-run 设置第一个任务将等待上一个
(depends_on_past) 和所有任务 (wait_for_downstream) 成功
关于整个 DAG 的 Airflow 取决于_on_past,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47533903/