我有一个DAG定义,可以将配置中的任务动态添加到DAG,例如:
for k, v in config.iteritems():
bash_task = BashOperator(task_id='{}_task'.format(k), ...)
...
如果我向config
添加了更多项目,Airflow调度程序是否会重新运行以前的所有作业,或者我是否必须手动执行此操作(通过运行airflow scheduler
或airflow backfill
)?
答案 0 :(得分:0)
调度程序不会检查所有先前DagRuns的所有TaskInstances。如果您在相关日期范围内运行airflow backfill
,则应该选择所有未完成的任务。
警告:未对DAG中的删除任务设置气流。您的数据库可能会保留对不再有效的任务ID的引用,并且Airflow可能会拒绝对该DAG执行任何操作,直到任务恢复或DAG中的所有其他TaskInstances都被删除。