RabbitMQ-如何找到队列模式(默认或延迟)

RabbitMQ-如何找到队列模式(默认或延迟),rabbitmq,Rabbitmq,问题很简单,在RabbitMQ中,如何找到队列模式(默认或延迟) 我尝试了文档编制和试验: 兔mqctl Rabbitmq管理插件 HTTP API 用于nodeJs的AMQPLib 我知道如何使用策略进行设置,我只想知道队列的当前模式,当该模式是在声明时设置的,而不是通过策略设置的。使用managament插件,我创建了一个具有惰性模式的新队列: 然后我可以看到模式已设置: 它错了吗?您可以使用HTTP API来实现这一点: 例如,包含所有属性的队列列表: curl -u guest:g

问题很简单,在RabbitMQ中,如何找到队列模式(默认或延迟)

我尝试了文档编制和试验:

  • 兔mqctl
  • Rabbitmq管理插件
  • HTTP API
  • 用于nodeJs的AMQPLib

  • 我知道如何使用策略进行设置,我只想知道队列的当前模式,当该模式是在声明时设置的,而不是通过策略设置的。

    使用managament插件,我创建了一个具有惰性模式的新队列:

    然后我可以看到模式已设置:


    它错了吗?

    您可以使用HTTP API来实现这一点: 例如,包含所有属性的队列列表:

    curl  -u guest:guest 'localhost:15672/api/queues'
    
    你必须找到:

    "mode": "lazy"
    

    简单地说:

    curl  -u guest:guest \
        'localhost:15672/api/queues' | python -m json.tool | grep '"mode": "lazy"' -A 50 -B 10
    


    或者使用某种语言来实现这一点。

    没错,但正如我在问题中提到的,我可以看到何时通过策略应用它,而不是何时在创建队列时应用它。我想看看我的代码是否正常工作,所以即使我能看到它在
    默认
    模式下运行,而不是
    惰性
    ,它也能解决问题。感谢您抽出时间提供帮助。您是否使用Rabbitmq管理插件然后使用http api获得了其他数据?在这两种情况下,我都看到了“x-queue-mode”属性。你说你对这四种方式中的任何一种都感兴趣:)。不,我说我试过了,但什么都找不到,这就是我告诉你的句子:“我知道如何使用策略设置队列,我只想知道队列的当前模式,当模式是在声明时设置的,而不是通过策略设置的。”通过Rabbitmq管理插件创建队列意味着通过策略创建?你是对的,我误解了你的答案,但在我的情况下,从控制台创建队列不是一个选项。但是,是的,我最初误读了您的答案。它的名称只是
    模式
    ,现在显然是在rabbitmq 3.7.8中,因为它从您提到的api返回。这很有帮助,谢谢!你是对的!谢谢你指出!,我更新了答案
    curl  -u guest:guest \
        'localhost:15672/api/queues' | python -m json.tool | grep '"mode": "lazy"' -A 50 -B 10
    
    curl  -u guest:guest \
        'localhost:15672/api/queues' | python -m json.tool | grep '"x-queue-mode"' -A 80 -B 3