2014-09-26 115 views
7

有没有办法获得注册任务列表?芹菜获取注册任务列表

我想:

celery_app.tasks.keys() 

其中建在像celery.chord芹菜任务只有回报,celery.chain等

+1

你检查出这个线程所以获得注册任务转储? http://stackoverflow.com/questions/12651872/how-to-get-all-tasks-and-periodic-tasks-in-celery – 2014-10-02 12:34:44

回答

18
from celery.task.control import inspect 
i = inspect() 
i.registered_tasks() 

这将给所有员工&相关注册工作的字典。

from itertools import chain 
set(chain.from_iterable(i.registered_tasks().values())) 

如果您在运行相同任务的多个工人,或者如果你只需要一组的所有已注册的任务,它的工作情况。

另一种方法:

从终端,你可以使用此命令

celery inspect registered 
+0

由于某种原因,Whic没有列出所有注册的任务。 – 2014-10-07 13:33:52

+0

这很奇怪。不知道发生了什么问题。你可以分享你的芹菜配置和你的任务吗? – ChillarAnand 2014-10-07 14:23:46

+6

对于任何使用Django使用Celery的人来说,'celery -A {celery_app_name}检查已注册'是否有用。 – 2016-06-28 16:02:24