从文档:
答:您可以使用celery purge命令清除所有已配置的任务队列:
$ celery -A proj purge
或以编程方式:
>>> from proj.celery import app
>>> app.control.purge()
1753
如果只想从特定队列中清除消息,则必须使用AMQP API或celery amqp实用程序:
$ celery -A proj amqp queue.purge <queue name>
您还可以使用--purge
参数启动worker ,以在worker启动时清除消息。
更新:
我不知道在RabbitMQ中编辑它们的任何方法,因为服务器不是以这种方式访问??/编辑/删除排队的任务的,但是您始终可以在代码中禁用任务:
@task
def my_old_task()
pass