rabbitmq批量刪除隊列


有些時候,我們需要批量的刪除rabbitmq中的隊列,尤其是對於那些客戶端配置了隊列不存在時自動創建,但斷開時不自動刪除的應用來說。

rabbitmqctl並沒有包含直接管理隊列的功能,其提供的vhost粒度有時候過大以至於無法滿足要求。rabbitmqadmin默認是沒有隨安裝自帶的。

在啟用了rabbitmq management plugin之后,可以通過http://IP:15672/cli/下載rabbitmqadmin shell文件,linux/windows都可用curl,如下:

curl http://IP:15672/cli/rabbitmqadmin -o $RABBITMQ_HOME/sbin/rabbitmqadmin

chmod a+x *

此時就可以通過rabbitmqadmin刪除隊列,如下刪除隊列名含trdL字符串的隊列:

rabbitmqadmin list queues name | awk '{print $2}' | grep "trdL" | xargs -I qn rabbitmqadmin delete queue name=qn

注意:rabbitmqadmin使用python作為腳本語言,所以需要確保主機環境安裝了python 2.6以上。具體見http://www.rabbitmq.com/management-cli.html。

還有一種方式是通過policy進行設置隊列1秒鍾后過期,這也是可以的。


免責聲明!

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



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