我需要删除具有某些特定名称的队列中的所有消息以及属于这些队列的延迟队列中的所有消息。
为了清除队列,我使用了这样一个 PowerShell 脚本,该脚本通过这样的请求接收具有某些特定名称的所有队列:
"http://$($rabbitmqHost):$($rabbitmqPort)/api/queues?page=1&page_size=100&name=$($queuesRegexEncoded)&use_regex=true&pagination=true"
之后,我用这个请求清除了所有这些队列:
"http://$($rabbitmqHost):$($rabbitmqPort)/api/queues/$($virtualHostEncoded)/$($queueNameEncoded)/content"
问题是,当我运行这个脚本时,延迟队列中可能有一些消息(nsb.delay-level-05 等)。我想知道如何从这些队列中删除具有特定目的地的所有消息。