RabbitMQ如何清除隊列


RabbitMQ如何清除隊列

    進入控制台

    首先定位到 rabbitMQ 安裝目錄的sbin 目錄下,然后shift+右鍵,調出右鍵菜單,選擇在此處打開命令窗口,打開一個cmd窗口

    

    查看所有隊列:rabbitmqctl list_queues

    方式一:rabbitmqctl reset

    該方式需要執行如下命令:
    rabbitmqctl stop_app  -> rabbitmqctl reset -> rabbitmqctl start_app

   說明:

  •     rabbitmqctl  stop_app  - 關閉應用
  •     rabbitmqctl  reset  - 清除隊列中的消息
  •     rabbitmqctl  start_app - 再次啟動此應用

   查看是否清空:

   最后,再次執行命令:rabbitmqctl  list_queues。這次可以看到 listing 及 queues都是空的。

   注意:

   1)使用此命令前,要先關閉應用(rabbitmqctl stop_app),否則不能清除

   2) 這種方式不僅會清空消息,還會清空所有配置信息,需要謹慎使用

   方式二:rabbitmqctl delete_queue  

   說明: 該方式就是將隊列刪除,重新建一個

   1) 刪除單個queue

   rabbitmqctl  delete_queue  queue_name

   2)提供批量刪除queue

   RabbitMQ沒有提供批量刪除queue的命令或功能,但是有提供列出所有隊列名稱以及刪除單個queue的功能。
   我們可以借助Linux的xargs命令來批量刪除指定的queue:

1 #刪除以hello開頭的queue
2 #由於list_queues會列出隊列名稱以及對應的消息數目,需要過濾掉消息數目,配合awk命令只取第1列
3 rabbitmqctl list_queues| grep ^hello | awk '{print $1}' | xargs -n1 rabbitmqctl delete_queue

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM