如何获得所有芹菜任务?

How to get all celery tasks?

各位。我想在我的程序中获取所有芹菜任务。 就像 Django-admin 所做的那样。

但是我搜索了很多都没有帮助。 请。帮帮我!

我认为你应该能够做这样的事情:

from celery import current_app

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

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

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

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

然后将 return 芹菜旁边的所有芹菜任务。