当我 运行 一个工人时,Celery CELERY_DEFAULT_EXCHANGE_TYPE 不工作
Celery CELERY_DEFAULT_EXCHANGE_TYPE doesn't work when I run a worker
我想 运行 一些工人处于 topic
模式,所以我更改了 CELERY_DEFAULT_EXCHANGE_TYPE
设置。
CELERY_DEFAULT_EXCHANGE = 'interesting_exchange'
CELERY_DEFAULT_EXCHANGE_TYPE = 'topic'
当我想 public 消息到干净的 rabbitmq(假设生产者在消费者之前启动)时,如 simple_task.apply_async(args=[1, 2, 3])
,它声明很好:interesting_exchange
声明为主题模式。
但是当我想 运行 一个干净的 rabbitmq 的工人(假设消费者在生产者之前开始),比如 celery worker -A celery_app.app
,interesting_exchange
声明为直接模式。
我需要指定其他选项吗?或者这只是一个错误?
这是一个 known Celery issue and the fix 已经被合并。升级到 Celery 4.4 应该可以解决问题。
我想 运行 一些工人处于 topic
模式,所以我更改了 CELERY_DEFAULT_EXCHANGE_TYPE
设置。
CELERY_DEFAULT_EXCHANGE = 'interesting_exchange'
CELERY_DEFAULT_EXCHANGE_TYPE = 'topic'
当我想 public 消息到干净的 rabbitmq(假设生产者在消费者之前启动)时,如 simple_task.apply_async(args=[1, 2, 3])
,它声明很好:interesting_exchange
声明为主题模式。
但是当我想 运行 一个干净的 rabbitmq 的工人(假设消费者在生产者之前开始),比如 celery worker -A celery_app.app
,interesting_exchange
声明为直接模式。
我需要指定其他选项吗?或者这只是一个错误?
这是一个 known Celery issue and the fix 已经被合并。升级到 Celery 4.4 应该可以解决问题。