如何应对rabbitmq 4.0弃用?

问题描述 投票:0回答:1

我正在使用rabbitmq和celery。当rabbitmq启动时,我看到以下警告:

Deprecated features: `transient_nonexcl_queues`: Feature `transient_nonexcl_queues` is deprecated.
By default, this feature can still be used for now.
Its use will not be permitted by default in a future minor RabbitMQ version and the feature will be removed from a future major RabbitMQ version; actual versions to be determined.
To continue using this feature when it is not permitted by default, set the following parameter in your configuration:
    "deprecated_features.permit.transient_nonexcl_queues = true"
To test RabbitMQ as if the feature was removed, set this in your configuration:
    "deprecated_features.permit.transient_nonexcl_queues = false"

我也收到了关于

global_qos
的相同警告。如果我像警告中那样将两个键设置为 false,则会收到错误,因此显然我正在使用这些功能。但我并没有有意识地使用它们:我并不真正关心我的队列是否是瞬态的或独占的,而且我还没有配置 QoS。我只想从 python 提交任务并让它们在后台运行。如果消息代理崩溃了,那就不太理想了,但这并不是世界末日。无论如何,它与应用程序的其余部分位于同一物理服务器上。

我怎样才能“让这个警告消失”并保持我的配置面向未来(所以不仅仅是将两者都设置为true)?我在

rabbitmq.conf
中没有找到相关设置,所以我猜我必须改变从Python访问队列的方式?

rabbitmq celery
1个回答
0
投票

我能够运行 RabbitMQ,无需一些已弃用的功能,只需将以下内容添加到 value.yaml(如果使用 Helm):

configuration: |-
  deprecated_features.permit.transient_nonexcl_queues = false

要禁用rabbitmq.conf,官方GitHub RabbitMQ存储库包含配置它所需的

[the lines][1]
。在你的情况下,它应该是:

  deprecated_features.permit.global_qos = false
  ...
© www.soinside.com 2019 - 2024. All rights reserved.