为了账号安全,请及时绑定邮箱和手机立即绑定

Airflow Dag 失败回调被多次调用

Airflow Dag 失败回调被多次调用

Helenr 2023-07-11 14:30:14
on_failure_callback我遇到多次调用功能的问题。目前,我的主Dag分为 1 个PythonOperator和 4 个SubDag,每个SubDag包含多个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...在设置过程中,我在main Dag的default_args中添加了一个选项。对于每个SubDag,我将其设置为。on_failure_callbackNone主要参数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,}参数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,}但是当我运行Dag并检查任务时,似乎每个子dag 的任务都on_failure_callback设置为custom_failure_handle而不是None。因此,在执行过程中,如果SubDag任务失败,on_failure_callback则会被调用两次:在主Dag中和在SubDag中。是否可以对父Dag和SubDag进行单独的配置,以确保失败回调不会被调用两次?
查看完整描述

1 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

所以问题不在Airflow一边,而是在我实现为我SubDag. 基本上SubDag default_args总是被主要Dag参数覆盖。

当然,您可以通过与SubDag常规Dag.


查看完整回答
反对 回复 2023-07-11
  • 1 回答
  • 0 关注
  • 173 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信