【发布时间】:2012-01-20 08:54:29
【问题描述】:
我正在使用Celery 来管理异步任务。然而,偶尔,celery 进程会停止,导致没有任何任务被执行。我希望能够检查 celery 的状态并确保一切正常,如果我检测到任何问题,则会向用户显示错误消息。从 Celery Worker 文档看来,我可以使用 ping 或 inspect 来解决这个问题,但是 ping 感觉很笨拙,并且不清楚检查的确切用途(如果 inspect().registered() 是空的?)。
对此的任何指导将不胜感激。基本上我正在寻找的是这样的方法:
def celery_is_alive():
from celery.task.control import inspect
return bool(inspect().registered()) # is this right??
编辑:它甚至看起来不像 celery 2.3.3 上提供了 registered() (即使 2.1 文档列出了它)。也许 ping 是正确的答案。
编辑:Ping 似乎也没有像我想象的那样做,所以仍然不确定这里的答案。
【问题讨论】:
-
下面的答案不适合您吗?作为有类似问题要解决的人,我希望得到一些确认。
-
我知道这是一个老问题,但您能否详细说明
ping不是答案?似乎ping正是正确的答案,一个简单的“乒乓”响应表明工人还活着。
标签: python django celery django-celery