Airflow月度调度DAG已调度但未进入队列问题求助
检查DAG启用状态
直接查看Airflow UI中该DAG的开关是否处于开启状态,若被手动暂停,即便有调度计划也不会进入队列。验证调度时间逻辑
@monthly调度间隔对应每月最后一天的午夜(UTC时间),需确认当前系统时间已到达或超过下一次调度的执行时间。比如当前处于2024年5月时,下一次执行时间应为2024-05-31T00:00:00+00:00,系统时间未到点则任务不会进入队列。
可执行命令airflow dags next-execution dag_name查看计算出的下一次执行时间,再与当前系统时间对比(注意Airflow默认使用UTC时区)。检查调度器运行状态
确认Airflow调度器(scheduler)进程是否正常运行,若调度器挂掉,即便有调度计划也无法将任务推入队列。
用systemctl status airflow-scheduler(若采用systemd管理)查看进程状态,或直接查看调度器日志,排查是否存在报错。排查catchup逻辑的影响
你的DAG设置了catchup=True,如果从2023-01-01到当前存在未执行的历史任务,调度器会优先处理这些补跑任务,可能导致下一次常规调度的任务暂时无法进入队列。可临时将catchup=False测试,观察是否能触发下一次调度进入队列。查看日志定位异常
查看该DAG的日志,搜索是否存在调度相关的错误信息;同时查看调度器日志,检查是否有关于该DAG的调度异常记录,比如时间解析错误、权限问题等。确认任务实例状态
先执行airflow tasks list dag_name查看DAG下的所有任务,再用airflow tasks state dag_name <task_id> <execution_date>命令查看具体任务实例的状态,确认是否被标记为failed、up_for_retry等状态,导致无法进入队列。
内容的提问来源于stack exchange,提问作者WLD

