You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Airflow配置max_active_runs后DAG活跃运行实例数无法提升排查

Airflow max_active_runs 配置不生效排查项
  • 首先排查自定义队列资源:你所有任务都指定了跑在queue='s21'队列,需要确认该队列绑定的Worker数量、每个Worker的worker_concurrency可用槽位,如果s21队列的可用执行槽位不足,即使DAG和全局并发参数设置再高,也会被实际的Worker资源限制并发数
  • 检查回填配置:确认DAG是否显式设置了catchup=True,如果catchup=False,Airflow只会生成最近一次的待运行实例,不会批量生成历史回填任务,自然无法达到预期的并发数;Airflow 2.x版本还要确认全局配置core.catchup_by_default是否为True
  • 排查调度器生成实例的限制:Airflow 2.x版本需要检查scheduler.max_dagruns_to_create_per_loop、scheduler.max_dagruns_per_loop_to_schedule两个参数,这两个参数控制调度器单次循环最多生成的DAG运行实例数量,如果数值设置过低,调度器每次只会生成少量待调度实例,无法打满你设置的max_active_runs配额
  • 检查Pool(资源池)限制:如果你的任务或者DAG显式绑定了自定义资源池,若资源池的总槽位设置为2,即使所有并发参数都调大,最多也只能同时跑2个任务,直接限制DAG实例的并发数
  • 确认配置是否实际生效:修改DAG代码中的max_active_runs等参数后,需要重启调度器才能生效,你可以直接查询Airflow元数据库的dag表,找到对应DAG的max_active_runs字段值,确认和你代码中设置的一致,避免WebUI显示的配置和实际生效配置不一致
  • 检查depends_on_past参数:如果default_args中设置了depends_on_past=True,当前DAG实例的任务必须等待上一个DAG实例的同名任务执行成功才能启动,会强制DAG实例串行执行,直接限制并发数
  • 排查异常卡住的DAG实例:Airflow会把所有处于running状态的DAG实例都计入max_active_runs的统计,如果有历史实例异常卡住没有被标记为失败/成功,会占用活跃实例配额,导致新的实例无法启动

内容的提问来源于stack exchange,提问作者PSW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 15:27:02