在向DAG引入新任务时,Airflow调度程序是否重新运行以前的DAG运行?

时间:2016-12-14 05:59:16

标签: dynamic task airflow

我有一个DAG定义,可以将配置中的任务动态添加到DAG,例如:

for k, v in config.iteritems():
    bash_task = BashOperator(task_id='{}_task'.format(k), ...)
    ...

如果我向config添加了更多项目,Airflow调度程序是否会重新运行以前的所有作业,或者我是否必须手动执行此操作(通过运行airflow schedulerairflow backfill)?

1 个答案:

答案 0 :(得分:0)

调度程序不会检查所有先前DagRuns的所有TaskInstances。如果您在相关日期范围内运行airflow backfill,则应该选择所有未完成的任务。

警告:未对DAG中的删除任务设置气流。您的数据库可能会保留对不再有效的任务ID的引用,并且Airflow可能会拒绝对该DAG执行任何操作,直到任务恢复或DAG中的所有其他TaskInstances都被删除。