on_failure_callback我遇到多次調(diào)用功能的問題。目前,我的主Dag分為 1 個(gè)PythonOperator和 4 個(gè)SubDag,每個(gè)SubDag包含多個(gè)PythonOperator。t_python_1 >> t_subdag_2 >> t_subdag_3 >> t_subdag_4 >> t_subdag_5__t_subdag_2__:t_sub2_python_1 >> t_sub2_python_2 t_sub2_python_3...在設(shè)置過程中,我在main Dag的default_args中添加了一個(gè)選項(xiàng)。對(duì)于每個(gè)SubDag,我將其設(shè)置為。on_failure_callbackNone主要參數(shù)Dag:DEFAULT_ARGS_MAINDAG = { "owner" : "airflow", "depends_on_past" : False, "start_date" : days_ago(2), "retries" : 2, "retry_delay" : timedelta(seconds=30), "on_failure_callback" : custom_failure_handle,}參數(shù)SubDag:DEFAULT_ARGS_SUBDAG = { "owner" : "airflow", "depends_on_past" : False, "start_date" : days_ago(2), "retries" : 2, "retry_delay" : timedelta(seconds=30), "on_failure_callback" : None,}但是當(dāng)我運(yùn)行Dag并檢查任務(wù)時(shí),似乎每個(gè)子dag 的任務(wù)都o(jì)n_failure_callback設(shè)置為custom_failure_handle而不是None。因此,在執(zhí)行過程中,如果SubDag任務(wù)失敗,on_failure_callback則會(huì)被調(diào)用兩次:在主Dag中和在SubDag中。是否可以對(duì)父Dag和SubDag進(jìn)行單獨(dú)的配置,以確保失敗回調(diào)不會(huì)被調(diào)用兩次?
1 回答

慕桂英546537
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
所以問題不在Airflow
一邊,而是在我實(shí)現(xiàn)為我的SubDag
. 基本上SubDag
default_args總是被主要Dag
參數(shù)覆蓋。
當(dāng)然,您可以通過與SubDag
常規(guī)Dag
.
添加回答
舉報(bào)
0/150
提交
取消