【问题标题】:Celery 'Error: No nodes replied within time constraint' error - how to debug?Celery '错误:没有节点在时间限制内回复'错误 - 如何调试?
【发布时间】:2019-10-25 04:21:32
【问题描述】:

我之前遇到过多次出现的问题,但以前的答案似乎都没有帮助我。

我正在使用 Redis 后端运行 Celery(通过 Docker/Kubernetes)。我正在使用这个命令:

celery worker --uid 33 -A finimize_django --loglevel=DEBUG -E

(我刚刚设置为调试)

我正在使用celery==4.3.0redis==3.2.1

每当我运行celery -A app_name status 时,我都会得到:

Error: No nodes replied within time constraint.

奇怪的是芹菜似乎工作正常。我可以看到正在处理的任务,即使我monitor Redis 的东西似乎正在成功运行。几个月来,这在生产中也一直运行良好,只是上周才开始发生这种情况。

这导致了一个问题,因为我的 liveness probe 因为这个错误消息而杀死了 pod。

如何调试潜在问题?日志输出中没有任何错误。

谢谢!

【问题讨论】:

  • 你有没有想过这个问题?
  • 遗憾的是还没有,但已经有一段时间没有跟进了
  • 我卸载了 celery 和 kombu 并重新安装,它工作正常。版本:amqp-2.5.2 celery-4.4.0 kombu-4.6.7

标签: python kubernetes redis celery


【解决方案1】:

我遇到了同样的问题,或者至少非常相似。我已经设法通过将kombu 固定到版本4.6.3 来在我的项目中修复它。根据 github 上的this issue 芹菜,这是4.6.4 的问题。调试的真正阴险的问题,但我希望这会有所帮助!

【讨论】:

    【解决方案2】:

    正如第一个答案中所建议的那样,github 上将 kombu 降级到 4.6.3 版的问题本身还不够,我不得不稍微更改一下命令并使用这个..:

    timeout 120s celery inspect ping -A run:celery -b ${REDIS_URL} -d celery@$HOSTNAME
    

    注意 redis URL 和主机名。

    【讨论】:

      猜你喜欢
      • 2015-10-29
      • 2012-11-14
      • 1970-01-01
      • 2020-12-19
      • 2019-12-17
      • 2019-10-19
      • 2013-12-19
      • 2021-06-06
      • 2017-11-26
      相关资源
      最近更新 更多