每次重试重置 Airflowexecution_timeout

mus*_*gok 5 airflow

我希望任务在启动 12 小时后失败,我已设置execution_timeout为 12 小时:

Operator 是 SQLSensor,因为它有时会丢失连接并失败,所以我将其设置retries为 3。

但是,由于重试,任务会在每次超时后重新开始。

1:任务于10:00开始

2:22:00超时

3:然后任务在22:01再次开始

我不想要这个,如何设置所有重试的总超时?

log_sensor = SqlSensor(
    task_id='log_sensor',
    conn_id='mssql_etl',
    sql=my_query,
    retries=3,
    execution_timeout=timedelta(hours=12),
    dag=dag)
Run Code Online (Sandbox Code Playgroud)

小智 0

我认为您想使用slakwarg,如此处文档中所述https://airflow.apache.org/docs/1.10.2/code.html?highlight=task%20timeout

\n\n
\n

sla (datetime.timedelta) \xe2\x80\x93 作业预计成功的时间。请注意,这表示周期结束后的时间增量。例如,如果您将 SLA 设置为 1 小时,则如果 2016-01-01 实例尚未成功,调度程序将在 2016-01-02 凌晨 1:00 后不久发送电子邮件。调度程序特别关注具有 SLA 的作业,并针对 SLA 未命中发送警报电子邮件。SLA 缺失也会记录在数据库中以供将来参考。共享相同 SLA 时间的所有任务都会捆绑在一封电子邮件中,并在该时间之后立即发送。SLA 通知对于每个任务实例仅发送一次。

\n
\n