我正在运行Django + Celery + RabbitMQ。在修改了一些任务名称之后,我开始获得“未注册的任务”KeyErrors,即使在从Django Celery Beat的Periodic任务表中删除具有此键的任务并重新启动Celery工作程序之后。
结果是Celery / RabbitMQ tasks are persistent。我最终通过reimplementing the legacy tasks as dummy methods解决了这个问题。
将来,我不想清除队列,重启工作人员或重新实现遗留方法。相反,我想检查队列并单独删除任何遗留任务。这可能吗? (最好是在Django管理界面的上下文中。)
答案 0 :(得分:0)
芹菜inspect
可能有所帮助
查看活动队列:
celery -A proj inspect active_queues
终止流程:
celery -A proj control invoke process_id
查看所有可用的检查选项:
celery inspect --help