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

Will Airflow dag level retries value override task level retries value?

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

没有 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 次,因为它覆盖了默认值。