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

Celery 5.1.0执行status命令报错:No nodes replied within time constraint

问题:Celery Worker运行正常但celery status返回"No nodes replied within time constraint"

环境信息

  • Celery版本:5.1.0 (sun-harmonics)
  • 消息代理/后端:Redis 7.0.5
  • Python版本:3.6.15

Worker启动命令

celery -A task_scheduler.celery_task worker --loglevel=debug -n ekkis -E

Worker运行日志(部分)

[2022-11-06 03:02:15,913: DEBUG/MainProcess] | Worker: Preparing bootsteps.
[2022-11-06 03:02:15,918: DEBUG/MainProcess] | Worker: Building graph...
[2022-11-06 03:02:15,919: DEBUG/MainProcess] | Worker: New boot order: {StateDB, Beat, Timer, Hub, Pool, Autoscaler, Consumer}
[2022-11-06 03:02:15,933: DEBUG/MainProcess] | Consumer: Preparing bootsteps.
[2022-11-06 03:02:15,934: DEBUG/MainProcess] | Consumer: Building graph...
[2022-11-06 03:02:16,033: DEBUG/MainProcess] | Consumer: New boot order: {Connection, Events, Heart, Mingle, Gossip, Tasks, Control, Agent, event loop}
[2022-11-06 03:02:16,034: INFO/MainProcess] LIQUIDITY PROVISION TASK_SCHEDULER - Genesis Subscribe Started
[2022-11-06 03:02:16,046: DEBUG/MainProcess] http://vault.gitlab-managed-apps.svc.cluster.local:8200 "GET /v1/auth/token/lookup-self HTTP/1.1" 200 908
[2022-11-06 03:02:16,100: DEBUG/MainProcess] http://vault.gitlab-managed-apps.svc.cluster.local:8200 "GET /v1/site/data/prod/site HTTP/1.1" 200 None
[2022-11-06 03:02:16,105: DEBUG/MainProcess] http://vault.gitlab-managed-apps.svc.cluster.local:8200 "GET /v1/auth/token/lookup-self HTTP/1.1" 200 908
[2022-11-06 03:02:16,111: DEBUG/MainProcess] http://vault.gitlab-managed-apps.svc.cluster.local:8200 "GET /v1/site/data/prod/site HTTP/1.1" 200 None

状态查询命令及报错

执行状态查询命令:

celery -A task_scheduler.celery_task status

返回错误:

Error: No nodes replied within time constraint

补充信息:celery report输出

software -> celery:5.1.0 (sun-harmonics) kombu:5.1.0 py:3.6.15
            billiard:3.6.4.0 redis:3.5.3
platform -> system:Linux arch:64bit
            kernel version:5.4.188+ imp:CPython
loader   -> celery.loaders.app.AppLoader
settings -> transport:redis results:disabled

排查建议

  • 确认配置一致性:检查task_scheduler.celery_task中的Redis连接参数(主机、端口、数据库、密码等),确保celery status命令与worker使用完全相同的配置,连接同一个Redis实例。
  • 指定节点名称查询:启动worker时通过-n ekkis指定了节点名,尝试在状态命令中指定该节点:celery -A task_scheduler.celery_task status ekkis,看是否能返回节点状态。
  • 调整超时时间:celery status默认超时时间较短,尝试延长超时:celery -A task_scheduler.celery_task status --timeout=10。
  • 验证Redis pub/sub功能:Celery状态查询依赖Redis的发布订阅机制,用Redis CLI执行PUBSUB CHANNELS查看是否有Celery相关的频道,同时检查网络策略是否阻止了worker与Redis之间的消息传递。
  • 检查worker控制模块状态:从日志看worker已加载Control模块,但确认配置中未禁用worker_enable_remote_control(默认启用),同时查看worker日志中是否有Control模块的错误信息。
  • 检查Redis中Celery节点注册:用Redis CLI执行KEYS "*celery*",查看是否存在celery-workers等相关键,确认worker已在Redis中完成注册。
  • 确认依赖版本兼容性:当前redis-py版本为3.5.3,可尝试升级到较新版本,排查是否存在客户端与Redis服务端的兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 14:55:16