我有一个服务器,其中两个django应用程序正在运行appone,apptwo为他们,两个芹菜 Worker 启动命令:
celery worker -A appone -B --loglevel=INFO
celery worker -A apptwo -B --loglevel=INFO
两者都指向相同的BROKER_URL ='redis:// localhost:6379'
使用db 0和1设置redis
我可以在两个应用程序的日志中看到这两个应用程序中配置的任务,这会导致警告和错误 .
我们可以在django设置中配置芹菜工作而不会干扰彼此的任务吗?
1 Answer
你可以route tasks到不同的队列 . 用两个不同的
-Q myqueueX
启动Celery,然后在两个Django项目中使用不同的CELERY_DEFAULT_QUEUE
.根据您的Celery配置,您的Django设置应如下所示:
您还可以通过以下方式获得更精细的控制:
更多选择:
How to keep multiple independent celery queues?