airflow.cfg
:
# airflow version = 1.10.1
executor = LocalExecutor
parallelism = 32
dag_concurrency = 16
还有一个dag.py:
with DAG('mydag', schedule_interval="@hourly") as dag:
# define tasks
但是有时候我的任务完成时间比我的schedule_interval
要长,并且气流会在完成前一个任务之前安排下一个任务。
这导致各种恶劣的比赛条件。
有没有一种方法可以显式地防止计划重叠的任务?即使那意味着完全跳过运行?
答案 0 :(得分:1)
depends_on_past
和wait_for_downstream
params of BaseOperator
EDIT-1
更新虽然以上可能会解决您的问题,但如果您希望完全跳过重叠的DagRun,请使用
max_active_runs_per_dag
:所有dag的全局设置max_active_runs
:可进行度级覆盖的设置