【发布时间】:2020-09-14 05:04:56
【问题描述】:
作为更大用例的一部分,我正在探索将消息从源移动到临时队列的铲子插件。我正在为每个队列创建动态铲子以将消息移动到临时队列并使用属性“delete-after”:“queue-length”删除动态铲子。我在 RabbitMQ 管理控制台(Admin->Shovel 状态)中看到动态铲子已成功删除,但源/临时队列的状态正在运行。
但问题是,当新消息进入源队列时,即使源队列没有消费者,它们也会自动移动到临时队列。
注意:
- 源队列和临时队列都是持久的。
- 消息是持久的(传递模式:2)
- 由于有数百个队列,上述操作是并行执行的。我正在为每个队列创建动态铲子并删除它们。
虽然我使用 DELETE HTTP API 而不是上述方法来删除动态铲子,但它运行良好。我想避免进行额外的 HTTP 调用,因为源队列有数百个。
【问题讨论】:
-
在 RabbitMQ v3.8.3 中观察到,但在 RabbitMQ v3.7.x 中运行良好
标签: rabbitmq messagebroker rabbitmq-shovel