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

docker-compose部署Airflow如何开启热重载快速开发scheduler服务

Docker Compose 部署 Airflow 开启 Scheduler 热重载方法

热重载生效后,修改DAG、自定义插件等代码时不需要重启scheduler容器,2-3秒内就会被scheduler识别加载,大幅提升开发调试效率,配置步骤如下:

1. 修改scheduler服务环境变量

编辑docker-compose.yml,在scheduler服务的environment配置段新增以下参数:

  • AIRFLOW__SCHEDULER__DAG_DIR_LIST_INTERVAL=2:将scheduler扫描DAG目录的间隔从默认300秒(5分钟)调整为2秒,兼顾响应速度和CPU占用
  • AIRFLOW__SCHEDULER__MIN_FILE_PROCESS_INTERVAL=0:关闭DAG文件处理的最小间隔限制,文件变动后立刻触发解析
  • 可选配置:AIRFLOW__CORE__LOAD_EXAMPLES=False,关闭官方示例DAG加载,减少无效扫描的性能消耗

2. 确认目录挂载配置正确

热重载的前提是scheduler容器能直接读取到你本地修改的代码,需要在scheduler服务的volumes段确认本地路径和容器路径的映射正确:

services:
  scheduler:
    # 保留原有image、depends_on等配置
    environment:
      # 保留原有其他环境变量,追加上面提到的热重载相关参数
      - AIRFLOW__SCHEDULER__DAG_DIR_LIST_INTERVAL=2
      - AIRFLOW__SCHEDULER__MIN_FILE_PROCESS_INTERVAL=0
      - AIRFLOW__CORE__LOAD_EXAMPLES=False
    volumes:
      # 保留原有其他挂载,确保以下路径映射正确
      - ./dags:/opt/airflow/dags # 本地DAG目录映射到容器内DAG路径
      - ./plugins:/opt/airflow/plugins # 本地插件目录映射到容器内插件路径
      # 如果你需要调试Airflow Scheduler本身的源码,再加本地源码的挂载,示例:
      # ./your-local-airflow-code/scheduler:/usr/local/lib/python3.10/site-packages/airflow/scheduler

3. 生效配置与注意事项

  • 配置修改完成后,执行docker-compose up -d scheduler重启一次scheduler容器即可生效,后续修改DAG、插件代码不需要再重启容器
  • 扫描间隔不要设置为0,会导致scheduler持续空转占满CPU资源,开发场景设置1-3秒即可
  • 热重载仅对运行时扫描加载的DAG、任务逻辑、自定义插件生效,如果你修改了数据库连接、执行器类型这类启动加载的核心配置,还是需要重启容器才能生效
  • 生产环境请将DAG_DIR_LIST_INTERVAL改回默认值300,避免频繁扫描带来不必要的性能开销

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 18:15:51