我有一个DAG,它有5个任务A,B,C,D,E。以及由上述失败任务触发的5个任务,每个任务分别为A_f,B_f,C_f,D_f和E_f(成功则类似地为五个)。最后是任务X,它将失败结果写入数据库。 可以说,如果前五个任务中有两个失败(A和D),则只有A_f和D_f被触发。如何执行任务X? all_done可以工作吗?即使某些上游任务从未触发过?我对此不太确定。
答案 0 :(得分:1)
是的,all_done
应该起作用。只要任务X的上游任务都没有状态None
,那么对于任何给定的dag运行都将是不可能的,因为任务的状态是从先前任务的状态中推断出来的(即,跳过状态被传播或任何子级将失败的任务的“ upstream failed
”设置为all_done
触发器。