如何获得所有芹菜任务?

时间:2018-12-18 05:57:35

标签: django django-celery

每个人。我想在程序中获取所有芹菜任务。 就像Django-admin一样。

enter image description here

但是我搜索了很多没有帮助的内容。 l帮帮我!

2 个答案:

答案 0 :(得分:0)

我认为您应该可以执行以下操作:

from celery import current_app

for name in sorted(current_app.tasks):
    if not name.startswith('celery.'):
        print(name)

django-celery does something similar检索管理员显示的任务列表。

答案 1 :(得分:0)

所以这段代码可以解决这个问题:

from celery import current_app
def get_celery_all_tasks():
    current_app.loader.import_default_modules()
    tasks = list(sorted(name for name in current_app.tasks                         
             if not name.startswith('celery.')))
    return tasks

然后将返回除芹菜之外的所有芹菜任务。