更改 Celery 默认队列,未按预期正常工作

Har*_*han 2 python celery

我已经覆盖了 celery 默认队列。下面是提到的设置。

设置

BROKER_URL = "amqp://managedbrokerurl/username/"
CELERY_DEFAULT_QUEUE = 'project.env.default'
CELERY_ROUTES = {"app1.tasks.push_api_task": {"queue": "project.env.priority_queue"}}
Run Code Online (Sandbox Code Playgroud)

工人

python manage.py celery worker -n env_worker -Q project.env.default
python manage.py celery worker -n env_worker -Q project.env.priority_queue 
Run Code Online (Sandbox Code Playgroud)

根据配置,我期待除app1.tasks.push_api_task应进入队列之外的所有任务project.env.default。但是发生了一个奇怪的问题,例如任务将进入project.env.default队列以及celery队列(如果没有被覆盖,这是默认值)。

我检查了我们的代码库,没有任何地方使用celery队列来发布任务。

如果你们遇到过同样的问题,请帮助。

Celery 队列屏幕

Dan*_*n91 16

我知道这是一个非常晚的回应,但如果人们仍然遇到这个问题,那么问题出在 Celery 的一些旧文档上。CELERY_DEFAULT_QUEUE某些文档中给出的变量不正确,应该是CELERY_TASK_DEFAULT_QUEUE

  • 这花了我几个小时,然后最终找到了这个并解决了问题 - 绝对值得一票,谢谢 Dantheman91 (2认同)