DAG中有两个初始化配置 concurrency 和 max_active_runs
concurrency:表示一个DAG,在同一时间点最大可以运行多少个Task。
max_active_runs:表示一个DAG,在同一时间点最多可以被运行几个。

假如我们一个DAG同一时间只能被运行一次,那么一定要指明 max_active_runs = 1
如果我们DAG中有10个Task,我们如果希望10个Task可以在触发后可以同时执行,那么我们的concurrency需要不小于10才行,若小于10,那么会有任务需要等待之前的任务执行完成才会开始执行。

就像上图,一个DAG被同时触发了2次,但是同时只有1个DAG的2个Task执行,另外一个DAG的两个Task被堵塞,等待资源的释放。

打赏
Airflow的DAG并行度控制

发表评论