Python:芹菜检验

2024-04-26 17:28:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我发现了一些相关的问题,但没有什么能准确描述我的问题。所以我可以用这样的代码检查我的队列:

from celery.task.control import inspect
#inspect(['my_queue']), with a list instead of a str, should work! 
i = inspect(['my_queue'])
print(i.active())  #  get a list of active tasks
print(i.registered()) # get a list of tasks registered
print(i.scheduled()) # get a list of tasks waiting
print(i.reserved()) #tasks that has been received, but waiting to be executed

但不知何故,每执行一秒,该方法就会返回一个空任务列表。有时我也会得到一个复位连接错误。为什么会这样?是否有类似的间隔,工人填写活动任务列表或类似的东西?你知道吗


Tags: of代码from列表get队列queuemy
1条回答
网友
1楼 · 发布于 2024-04-26 17:28:50

我假设您上面写的代码不是实际应用程序的样子(没有芹菜对象就无法工作)。-唯一的解释是,您有一些连接问题,否则它应该在每次运行时工作,除非确实没有要报告的任务。换句话说,集群是空闲的。你知道吗

请记住,inspect会向所有工作人员广播一条消息,并等待他们的答复。如果其中一些由于任何原因超时,您将无法在输出中看到该worker。如果碰巧只有那个工作人员很忙,您可能会得到一个空的任务列表。你知道吗

尝试调用celery -A yourproject.celeryapp status之类的函数来查看您的工作人员是否有响应,以及是否一切正常运行您的脚本。-应该有用。你知道吗

相关问题 更多 >