动态铲的`delete-after`属性的奇怪行为

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

我正在探索铲子插件,以将消息从源移动到临时队列,这是更大用例的一部分。我正在为每个队列创建动态铲,以将消息移动到临时队列,并使用属性“ delete-after”:“ queue-length”删除动态铲。我在RabbitMQ管理控制台(管理员->铲运机状态)中看到,动态铲运已成功删除,但是源/临时队列的状态正在运行。

但是问题是,当新消息进入源队列时,即使没有源队列的使用者,它们也会自动移至临时队列。

注意:

  1. 源队列和临时队列都是持久的。
  2. 消息是持久的(传递模式:2)
  3. 由于存在数百个队列,因此并行执行了该操作。我正在为每个队列创建动态铲并将其删除。

Queue status after deleting dynamic shovel当我使用DELETE HTTP API而不是上述方法删除动态铲时,它工作得很好。我想避免进行额外的HTTP调用,因为源队列数不计数百。

rabbitmq messagebroker rabbitmq-shovel
1个回答
0
投票
不推荐使用[[

delete-after属性,并使用src-delete-after重新命名。 RMQ v3.7.x支持delete-after属性,但已在v3.8.x中删除(最多3个)。然后将其带回v3.8.4

https://github.com/rabbitmq/rabbitmq-shovel/issues/72

感谢Michael

© www.soinside.com 2019 - 2024. All rights reserved.