芹菜检查功能挂起,如何排除故障?

dgo*_*man 5 ping amqp rabbitmq celery python-3.x

当我遵循芹菜文件

> from celeryapp import app
> i = app.control.inspect()
> i.active()
Run Code Online (Sandbox Code Playgroud)

检查似乎挂了。谁看过这个吗?谁能阐明为什么会发生这种情况?

  • 当我打电话给保留甚至是ping时,都会发生这种情况。我猜测即使ping也无法挂起-也未建立连接。

  • 我正在使用AMQP作为经纪人-经纪人参与的程度如何?我该如何排除故障?

我猜想这可能是一件很简单的事情,但是我迷失了atm,非常感谢您进行一次清晰的演练。

非常感谢!

chi*_*cio 0

celery 控制命令在所有 celery 工作进程默认监听的交换器中发送celery.pidbox,并在短期回复队列上响应。

那么“经纪人参与的程度如何?”

它是问题和答案所通过的媒介。

“我该如何排除故障?”

这是问题的核心,而且相当复杂,整个管道中的任何问题都会导致 celery 控制命令(包括 ping)出现问题。这就是为什么我不建议在生产系统中依赖它来了解已知的活动任务或其他细节。

我会按不特定的顺序检查:

  • 从控制节点连接到代理(无论您在哪里运行app.control.inspect()),
  • 以 结尾的队列.pidbox在代理上是健康的。
  • 至少有一名工人确实做出了反应。