芹菜任务工作者未在生产中更新

Celery task worker not updating in production

我已经在 EC2 实例上设置了一个 django 项目,其中 SQS 作为 celery、运行 到 Supervisord 的代理.当我更新任务的参数参数时,问题就开始了。在调用任务时,我在 Sentry 上收到错误,这清楚地表明该任务是 运行 旧代码。我该如何更新它?

我试过了supervisorctl restart all,但还是有问题。奇怪的是,对于某些参数,更新后的代码会运行,而对于某些参数则不会。

我检查了 celery worker 的日志,它没有收到给我错误的任务。我是 运行 -P solo 所以只有一名工人(运行 ps auxww | grep 'celery worker' 检查)。那么还有谁在处理这些任务?

感谢任何形式的帮助。

P.S。我使用 RabbitMQ 进行本地开发,它工作得很好

永远不要在不同的环境中使用相同的队列。