gpt4 book ai didi

python - 从 Celery 中过滤和删除任务

转载 作者:可可西里 更新时间:2023-11-01 11:37:12 32 4
gpt4 key购买 nike

我们正在使用 celery 和 redis。

我们在项目中实现了一些错误的 celery 架构。因此,任务被添加到 celery 的速度比它们被处理的速度更快。于是队列变得越来越大。

我们已经更改了项目的设计,以后不会发生这种情况。

但 celery 有大量积压,我想将其删除。准确地说,我们在队列中有 800000 个积压任务。

我们有一个队列,但已将两种不同类型的任务添加到该队列中。我们有一个名为 func_a 和另一个名称 func_b 的任务。该队列包含 300000 个 func_a 和 500000 个 func_b。

我想从队列中删除所有出现的 func_a。实现此目的的最简单方法是什么?

最佳答案

应该这样做:

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()

关于python - 从 Celery 中过滤和删除任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31187217/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com