Celery:从Python任务中有选择地清除队列

时间:2014-02-06 09:47:09

标签: python rabbitmq celery django-celery celeryd

有时我会遇到Celery队列在意外的不必要任务上堆积,导致服务器堵塞的情况。例如。该代码会发出20 000个任务而不是1个。

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

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

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

update_foobar.delay(foo, bar)

Stack:Django + Celery + RabbitMQ。

1 个答案:

答案 0 :(得分:2)

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