Airflow从1.10.4升级至2.2.3后调度器无法拾取新任务的问题咨询
解决Airflow 2.2.3升级后新任务无法自动拾取的问题
检查DAG发现配置
- 确认
airflow.cfg中的dag_dir_list_interval参数,该参数控制调度器扫描DAG目录的间隔,默认300秒。若设置过大,会导致新任务延迟显示,可调整为更小值,比如60秒:dag_dir_list_interval = 60 - 确保
load_examples设为False,避免示例DAG占用资源影响扫描效率:load_examples = False
验证DAG文件合法性
- 新DAG需符合Airflow 2.x语法规范:
- 保证
dag_id唯一,无重复 - 检查文件语法错误,可通过命令验证:
或直接运行DAG文件测试:airflow dags list -d <dag_id>python /path/to/your/dag/file.py
- 保证
- 确认DAG文件放在
airflow.cfg中dags_folder指定的目录,且调度器进程有读取权限。
检查调度器状态与日志
- 查看调度器日志,确认是否有DAG目录扫描记录或报错:
tail -f $AIRFLOW_HOME/logs/scheduler/latest/*.log - 若用systemd管理调度器,确认服务状态:
异常时重启服务:systemctl status airflow-schedulersystemctl restart airflow-scheduler
清理元数据缓存
- Airflow 2.x的DAG序列化机制可能存在缓存问题,执行清理命令:
airflow db clean - 手动触发DAG重新解析:
airflow dags reserialize -d <dag_id>
确认调度器执行器模式
- 若使用
CeleryExecutor,需确保worker节点能访问新DAG文件,且worker进程已加载新文件(可重启worker验证)。 - 检查
airflow.cfg中的executor配置与实际运行的执行器一致:executor = CeleryExecutor
内容的提问来源于stack exchange,提问作者fninsiima
相关产品推荐
相关产品推荐

