有时我会遇到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。