气流任务失败/重试工作流程

时间:2019-02-08 18:18:25

标签: airflow

我对任务有重试逻辑,不清楚重试打开后Airflow如何处理任务失败。

他们的documentation仅声明on_failure_callback在任务失败时被触发,但是如果该任务失败并且也标记为重试,则意味着on_failure_callback和{{1 }}会被调用吗?

1 个答案:

答案 0 :(得分:3)

重试逻辑/参数将在故障逻辑/参数之前发生。因此,如果您将任务设置为重试两次,它将在失败(然后执行on_retry_callback)之前再次尝试运行两次(并执行on_failure_callback)。

一种简单的确认执行顺序的方法是将email_on_retryemail_on_failure设置为True并查看它们出现的顺序。您可以亲自确认它会在失败之前重试。

default_args = {
    'owner': 'me',
    'start_date': datetime(2019, 2, 8),
    'email': ['you@work.com'],
    'email_on_failure': True,
    'email_on_retry': True,
    'retries': 1,
    'retry_delay': timedelta(minutes=1)
}