触发规则" all_done"当其父项标记为State.None
而不是State.Upstream_Failed
时,它无效。
我理解的问题是,失败任务下游的任务永远不会排队,因此他们的状态永远保持None
。
以下是我的DAG的部分树视图,我相信这是一个问题:
在此DAG中,tmp_cleanup
设置为all_done
,因为我们希望清除是否失败。如果直接父级失败(load_att_wv2_m1bs
),则此方法有效,但如果* -grandparent失败(rm_spurrious_gis_files
或unzip_wv2_ingest
)则不会,因为UPSTREAM_FAILED
永远不会传播。
AIRFLOW-1515报告此错误,让我觉得all_done
对1.8
中的* -grandparents不起作用。
如果通过更改配置无法解决此问题,我想知道重新创建all_done
行为的最佳方法,以便我可以在DAG结束时运行清理任务,无论它是否失败或成功。