我使用 Celery (3.0.15) 和 Redis 作为代理。
是否有一种直接的方法可以查询 Celery 队列中存在的具有给定名称的任务的数量?
作为后续,有没有办法取消 Celery 队列中存在的所有具有给定名称的任务?
我已经通过Monitoring and Management Guide并且在那里看不到解决方案。
最佳答案
# Retrieve tasks
# Reference: http://docs.celeryproject.org/en/latest/reference/celery.events.state.html
query = celery.events.state.tasks_by_type(your_task_name)
# Kill tasks
# Reference: http://docs.celeryproject.org/en/latest/userguide/workers.html#revoking-tasks
for uuid, task in query:
celery.control.revoke(uuid, terminate=True)
关于python - 如何按任务名称检查和取消 Celery 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15575826/