如何在气流1.8发生故障时重新启动dag?

时间:2018-06-11 11:23:00

标签: restart airflow

使用:

default_args = {
    ...
    'retries': 1,
    'retry_delay': timedelta (seconds = 1),
    ...
} 

我可以获得多次无法重试的任务,但是如果任务失败,DAG又重新开始,我怎么能得到它?

当然,自动......

3 个答案:

答案 0 :(得分:1)

你可以运行第二次&#34;失败检查&#34; DAG使用provide_session util查询db.currentOp() 匹配您所需的任何任务实例,状态为db.setProfilingLevel(level, options) 。然后,您还要选择清除下游任务,并将相关update public.dctable as s set dc = 1 from ( select d.*, min(time) over (partition by prod, customer, city, num) as mintime, row_number() over (partition by prod, customer, city, num order by time) as seqnum from public.dctable d ) dclk where dclk.seqnum <> 1 AND s.id=dclk.id 的状态设置为task_id

failed

答案 1 :(得分:1)

在 Airflow 中对此的规范解决方案是创建一个 subdagooperator,它将所有其他任务包装在 dag 中,并对其应用重试。

答案 2 :(得分:0)

您可以使用on_failure_callback功能调用将重启DAG的python / bash脚本。 Airflow目前没有提供在任务失败时自动重启DAG的功能。