Apache Airflow 忽略失败的任务

whb*_*whb 4 airflow

有没有办法忽略失败的任务并在假设 2 次重试后继续下一步?

例子;

t1= SomeOperator(...)
t2= SomeOperator(...)

t2.set_upstream(t1)


# if t1 fails re-try 2 times and proceed to t2

# else if t1 success then proceed to t2 as usual 
Run Code Online (Sandbox Code Playgroud)

Chr*_*eck 9

查看气流触发规则

默认情况下,每个任务的触发规则是'all_success',这意味着只有在所有直接上游任务都成功时才会执行该任务。

您在这里需要的是 trigger rule 'all_done',这意味着所有直接上游的任务都已完成,无论它们是失败还是成功。

但要小心,因为这也意味着如果一个不是直接上游的任务失败,并且该任务之后的任务被标记为'upstream_failed',具有此触发规则的任务仍将被执行。

因此,在您的情况下,您必须retries=2为 t1 和trigger_rule='all_done't2 设置。