我们正在使用带有redis的芹菜。
我们的项目实施了一些错误的芹菜架构。所以芹菜的加工速度比加工过程要快。因此队列变得越来越大。
我们已经改变了项目的设计,以后不会发生。
但芹菜有大量的积压,我想删除。确切地说,我们在队列中有800000个积压任务。
我们有一个队列,但此队列中添加了两种不同类型的任务。我们有一个名为func_a的任务和另一个名为func_b的任务。该队列包含300000个func_a和500000个func_b。
我想从队列中删除所有出现的func_a。实现这一目标的最简单方法是什么?
答案 0 :(得分:0)
这样的事情应该这样做:
from path.to.your.tasks import app
i = app.control.inspect()
for worker, jobs in i.scheduled().iteritems():
for job in jobs:
if job['task_name'] == 'path.to.your.tasks.func_a'
app.AsyncResult(job['id']).revoke()