【发布时间】:2014-02-28 18:47:20
【问题描述】:
所以我有一个 Django 应用程序,它偶尔会向 Celery 发送一个任务以进行异步执行。我发现当我在开发中处理我的代码时,Django 开发服务器知道如何自动检测代码何时发生更改,然后重新启动服务器,以便我可以看到我的更改。但是,我的应用程序的 RabbitMQ/Celery 部分并没有注意到开发中的这些变化。如果我更改稍后将在 Celery 任务中运行的代码,Celery 仍将继续运行旧版本的代码。我能让它接受变化的唯一方法是:
- 停止 Celery 工人
- 停止 RabbitMQ
- 重置 RabbitMQ
- 启动 RabbitMQ
- 将用户添加到我的 Django 应用程序配置使用的 RabbitMQ
- 为此用户设置适当的权限
- 重启 Celery worker
然而,这似乎是一种比我应该采取的更为激进的方法。我可以使用更轻量级的方法吗?
【问题讨论】:
标签: python django rabbitmq celery django-celery