5

有时我会遇到这样的情况,即 Celery 队列会在意外不必要的任务上堆积起来,从而阻塞服务器。例如,代码发射了 20 000 个任务而不是 1 个。

如何检查 Celery 队列包含的 Python 任务,然后有选择地摆脱某些任务?

任务是使用标准的 Celery 装饰器定义和启动的(如果重要的话):

@task()
def update_foobar(foo, bar):
    # Some heavy activon here
    pass

update_foobar.delay(foo, bar)

堆栈:Django + Celery + RabbitMQ。

4

1 回答 1

2

也许你可以使用Flower。它是 Celery 的实时监视器,具有漂亮的 Web 界面。我认为您可以从那里关闭任务。无论如何,我会尽量避免那些排队不必要的任务。

于 2014-02-26T14:33:55.360 回答