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

重启Airflow调度器后所有DAG持续排队问题排查与配置咨询

问题原因与解决方案

问题核心原因

调度器重启后,Celery Worker持有的Redis连接会失效,但Worker默认不会自动检测并重建无效连接,导致无法接收调度器下发的新任务,所有DAG任务持续处于排队状态,直到Worker重启重建有效连接。

从日志中的Cannot connect to redis://:***:6379/5: Connection closed by server错误可确认:Worker的Redis连接已被服务端关闭,且当前重试机制未及时触发重建,对应Celery社区讨论的连接池失效未自动恢复问题。

自动恢复的配置方案

通过调整Celery与Airflow的配置,让Worker自动检测并重建无效连接,无需手动重启Worker:

1. 配置Celery连接重试与心跳

在Airflow的airflow.cfg文件的[celery]段添加以下配置:

# 启动时及运行中自动重试连接,支持失效连接重建(Celery 5.2+,Airflow 2.5适配版本支持)
broker_connection_retry_on_startup = True
# 设置无限重试连接(默认-1,可明确指定)
broker_connection_max_retries = -1
# 定期发送心跳检测连接存活,单位秒,建议30-60
broker_heartbeat = 30

2. 验证配置生效

修改配置后,重启调度器与所有Worker,后续再重启调度器时,Worker会自动检测Redis连接状态,失效时自动重建,任务无需排队等待手动重启Worker。

3. 应急自动化方案(可选)

如果暂时无法生效,可编写脚本监听调度器重启事件(比如通过监控Airflow调度器进程状态),自动触发所有Worker的重启;或用监控工具(如Prometheus)监控任务排队指标,超过阈值时自动执行Worker重启命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 21:12:26