python – 如何通过任务名称检查和取消Celery任务

我正在使用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任务 - 代码日志