2014-09-26 113 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