Airflow dag 级别重试值是否会覆盖任务级别重试值?

时间:2021-07-19 12:12:41

标签: python airflow airflow-2.x

我注意到一个无主机错误,并且在任务文件夹中找不到日志。我的任务的重试次数设置为 3。此外,dag 的重试次数设置为 1。在 dag 级别设置的重试值是否会覆盖任务重试?我注意到它在失败后没有重试。

1 个答案:

答案 0 :(得分:1)

没有 DAG 级别 retries。 您可能对 default_args 感到困惑,它可能包含 retries 并传递给 DAG 承包商:

default_args = {
    'retries': 4
}
with DAG(
        dag_id='my_dag',
        default_args=default_args,
        ...
) as dag:
    t1 = BashOperator(
        task_id='print_date',
        bash_command='date',
    )
    t2 = BashOperator(
        task_id='sleep',
        bash_command='sleep 5',
        retries=3,
    )

default_args 是传递给 tasks 的字典,它用作为 DAG 中的所有任务设置默认值的方法。 在上面的示例中,t1 将有 4 次重试,因为它是 default_args 的默认值,但 t2 将有 3 次重试,因为它覆盖了默认值。