无法设置rabbitmq惰性队列

unable to set rabbitmq lazy queue

我在这里引用了link https://www.rabbitmq.com/lazy-queues.html并使用以下命令将rabbitmq队列设置为惰性队列

rabbitmqctl set_policy Lazy "^lazy-queue$" '{"queue-mode":"lazy"}' --apply-to queues

然而,当使用命令 curl -u guest:guest 'localhost:15672/api/queues'检查它时,它仍然显示默认队列如下


"mode":"default" . 

如何在rabbitmq中将队列设置为惰性队列。有人可以帮忙吗

A Policy 定义了一个规则,该规则适用于名称与特定模式匹配的所有队列。

让我们仔细看看您复制的命令:

rabbitmqctl set_policy Lazy "^lazy-queue$" '{"queue-mode":"lazy"}' --apply-to queues
  • 我们正在创建或更新名为“Lazy”的策略;据我所知,这可以是任何你喜欢的名字
  • 我们希望它应用的模式是^lazy-queue$;这是一个正则表达式,它只匹配确切的名称“lazy-queue”
  • 我们要应用的配置是将“queue-mode”设置为“lazy”

因此,如果您希望它应用于多个队列,则需要调整策略以应用于这些队列。例如,您可以将它应用于名称以“lazy-”开头的所有队列:

rabbitmqctl set_policy Lazy "^lazy-" '{"queue-mode":"lazy"}' --apply-to queues

或以 four-digit 数字结尾的任何名称:

rabbitmqctl set_policy Lazy "-[0-9]{4}$" '{"queue-mode":"lazy"}' --apply-to queues

或者只应用到每个队列:

rabbitmqctl set_policy LazyEverything ".*" '{"queue-mode":"lazy"}' --apply-to queues