【发布时间】:2013-11-20 16:33:54
【问题描述】:
如何在任务结束后立即删除队列中的所有任务?
我想要这样的东西 (Deleting all pending tasks in celery / rabbitmq) 但对于 celery 3.0.
谢谢
编辑:
来自 celery 文档: http://docs.celeryproject.org/en/latest/faq.html#how-do-i-purge-all-waiting-tasks
我的代码如下:
从 celery 导入 current_app 作为 celery
@task
def task_a():
celery.control.purge()
我期待,如果我发出 5 个任务,那么只有第一个会运行。不知何故,我不这样做。
谢谢
【问题讨论】:
-
我认为您提供的答案中的第二个解决方案
discard_all可以吗? -
它不适用于 celery 3.0。