【问题标题】:Can I review and delete Celery / RabbitMQ tasks individually?我可以单独查看和删除 Celery / RabbitMQ 任务吗?
【发布时间】:2018-02-05 15:06:54
【问题描述】:

我正在运行 Django + Celery + RabbitMQ。在修改了一些任务名称后,我开始收到“未注册的任务”KeyErrors,即使在使用此键从 Django Celery Beat 的定期任务表中删除任务并重新启动 Celery 工作者之后也是如此。

原来是Celery / RabbitMQ tasks are persistent。我最终通过reimplementing the legacy tasks as dummy methods解决了这个问题。

将来,我不希望清除队列、重新启动工作程序或重新实现旧方法。相反,我想检查队列并单独删除任何遗留任务。这可能吗? (最好在 Django 管理界面的上下文中。)

【问题讨论】:

标签: django rabbitmq celery django-celery celerybeat


【解决方案1】:

Celery inspect 可能会有所帮助

查看活动队列:

celery -A proj inspect active_queues

终止进程:

celery -A proj control invoke process_id

查看所有可用的检查选项:

celery inspect --help

【讨论】: