修改Airflow scheduler的job_heartbeat_sec后未生效,如何解决?
问题排查与修复步骤
区分配置项作用:
job_heartbeat_sec是调度器向数据库上报自身心跳的间隔,而Webserver的/health端点更新调度器心跳时间戳的频率,由[webserver]段的web_server_health_check_interval控制(默认5秒)。你需要修改的是后者而非前者,才能达到/health端点每20秒更新的预期。验证配置状态:
- 执行命令
airflow config get-value scheduler job_heartbeat_sec确认调度器心跳配置是否已生效。 - 执行
airflow config get-value webserver web_server_health_check_interval查看Webserver健康检查间隔的当前值。
- 执行命令
重启对应服务:
- 若修改了
web_server_health_check_interval,必须重启Webserver服务(仅重启调度器无效)。使用对应命令停止并启动:
如果你用系统服务管理(如systemd),则执行:# 停止Webserver airflow webserver stop # 启动Webserver airflow webserver startsudo systemctl restart airflow-webserver
- 若修改了
确认配置文件正确性:通过
airflow config list查看Airflow实际加载的配置文件路径,确保你修改的是正确的airflow.cfg文件,避免因路径错误导致配置未生效。
内容的提问来源于stack exchange,提问作者user25542738
相关产品推荐
相关产品推荐

