【发布时间】:2019-06-14 16:11:02
【问题描述】:
我有一个如下所示的 DAG,dagrun_timeout 设置为 4 小时。当我转到 UI 并清除从 start_date 到当前的所有任务时,所有 DAG 都设置为运行状态。
4 小时后,任何尚未将自身标记为成功的 DAG 将被标记为失败,即使它们尚未真正启动。我想知道这是否是预期的行为。
如果我想以这种方式重新运行 DAG,是否应该删除 dagrun_timeout 并在任务级别设置超时?或者,如果我想在没有dagrun_timeout 干扰的情况下重新运行所有 DAG,我应该使用 airflow backfill 吗?
理想情况下,我希望能够使用 UI,因为其他团队成员会想要重新运行 DAG。
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2019, 5, 1),
'email': ['lol@example.com'],
'email_on_failure': True,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=1),
}
dag = DAG(
dag_id='example_dag',
default_args=default_args,
max_active_runs=8,
schedule_interval='15 * * * *',
dagrun_timeout=timedelta(minutes=60*4),
)
【问题讨论】: