我在Docker中运行我的Django应用程序。我正在使用后台工作以及Celery + RabbitMQ的定期工作,在主应用程序的独立容器中运行。
一切都在本地使用“heroku local”。
在Digital Ocean上的Ubuntu实例上运行我的应用程序时,我注意到后台任务和定期任务正在执行我的代码的旧版本。具体来说,我上周从我的Django模型中删除了一个字段,旧代码引用了该删除字段,因此发生错误。但是,我的新代码不再引用丢失的字段。
以下是我尝试过的一些事情:
我现在遇到过两次这样的问题了,我希望找到一个更好的解决方案,而不是每次发生错误时都转移到新机器上。我猜Celery或RabbitMQ已经在我不知道的地方缓存了旧代码。
提前致谢!
与此相关但非解决方案对我有用:Celery/Rabbitmq/Django - Old tasks being executed without being called in my code