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

手动触发后Airflow DAG运行停滞在queued状态,请求排查原因

新建DAG触发后一直处于Queued状态的排查与解决

以下是针对该问题的常见排查方向,结合你环境中其他DAG正常的情况,重点关注新建DAG特有的配置或状态:

  • DAG未被调度器加载
    新建DAG后,调度器可能未自动扫描到文件。先执行airflow dags list确认目标DAG是否在列表中:

    • 如果不在,检查DAG文件是否放在Airflow配置的dags_folder路径下,文件后缀是否为.py;
    • 执行python your_dag_file.py检查DAG文件是否存在语法错误,语法错误会导致调度器无法解析加载。
  • start_date配置不合理
    若start_date设置为未来时间,或者start_date在过去但未满足schedule_interval的触发条件,DAG会处于排队等待状态。确认start_date是早于当前时间的固定值(避免用datetime.now()这种动态值),且schedule_interval配置符合预期(比如@hourly或具体cron表达式)。

  • 并发限制触发
    Airflow的全局并发(core.parallelism)、DAG级并发(dag_concurrency)、任务级并发(task_concurrency)任一达到上限,新任务都会被卡在队列:

    • 通过Airflow UI的Admin > Configurations查看当前并发参数;
    • 临时调整新建DAG的dag_concurrency参数(比如设置为10),测试是否能正常执行。
  • 执行器资源不足
    根据你使用的执行器类型排查:

    • CeleryExecutor:执行celery inspect active查看Worker节点的活跃任务数,检查Worker的CPU/内存是否耗尽,或Worker数量是否不足以承接新任务;
    • LocalExecutor:检查当前机器的进程数是否达到系统上限,或资源(CPU/内存)是否被其他进程占用。
  • 任务池(Pool)槽位耗尽
    如果新建DAG的任务指定了某个pool,而该pool的可用槽位已被其他任务占满,任务会排队等待。通过Airflow UI的Admin > Pools查看目标pool的使用情况,可临时增加pool槽位或修改任务的pool参数。

  • 触发命令参数错误
    确认airflow dags trigger命令的参数是否正确:

    • 检查DAG ID是否输入正确;
    • 若指定了--execution-date参数,确认该时间是过去的时间,未来的执行时间会导致任务延迟触发。
  • Catchup导致任务积压
    若新建DAG的catchup=True,且start_date到当前时间存在多个未执行的调度周期,调度器会生成大量待执行任务实例,新触发的任务会被排在积压任务之后。可临时设置catchup=False,或清理积压的任务实例后再触发。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 18:42:15