RabbitMQ如何清除佇列

2022-01-26 04:35:23 字數 1040 閱讀 9107

進入控制台

首先定位到 rabbitmq 安裝目錄的sbin 目錄下,然後shift+右鍵,調出右鍵選單,選擇在此處開啟命令視窗,開啟乙個cmd視窗

檢視所有佇列:rabbitmqctl list_queues

方式一:rabbitmqctl reset

該方式需要執行如下命令:

說明:rabbitmqctl  reset  - 清除佇列中的訊息

檢視是否清空:

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

注意:

1)使用此命令前,要先關閉應用

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

方式二:

rabbitmqctl delete_queue  

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

1) 刪除單個queue

rabbitmqctl  delete_queue  queue_name

2)提供批量刪除queue

rabbitmq沒有提供批量刪除queue的命令或功能,但是有提供列出所有佇列名稱以及刪除單個queue的功能。

我們可以借助linux的xargs命令來批量刪除指定的queue:

1

#刪除以hello開頭的queue2#

由於list_queues會列出佇列名稱以及對應的訊息數目,需要過濾掉訊息數目,配合awk命令只取第1列

3 rabbitmqctl list_queues| grep ^hello | awk '' | xargs -n1 rabbitmqctl delete_queue

RabbitMQ如何實現延遲佇列?

延遲佇列儲存的物件肯定是對應的延遲訊息,所謂 延遲訊息 是指當訊息被傳送以後,並不想讓消費者立即拿到訊息,而是等待指定時間後,消費者才拿到這個訊息進行消費。場景一 在訂單系統中,乙個使用者下單之後通常有30分鐘的時間進行支付,如果30分鐘之內沒有支付成功,那麼這個訂單將進行一場處理。這是就可以使用延...

如何用RabbitMQ實現延遲佇列

利用外掛程式實現延遲佇列 總結在jdk的juc工具包中,提供了一種延遲佇列delayqueue。延遲佇列用處非常廣泛,比如我們最常見的場景就是在網購或者外賣平台中發起乙個訂單,如果不付款,一般15分鐘後就會被關閉,這個直接用定時任務是不好實現的,因為每個使用者下單的時間並不確定,所以這時候就需要用到...

如何用RabbitMQ實現延遲佇列

在jdk的juc工具包中,提供了一種延遲佇列delayqueue。延遲佇列用處非常廣泛,比如我們最常見的場景就是在網購或者外賣平台中發起乙個訂單,如果不付款,一般15分鐘後就會被關閉,這個直接用定時任務是不好實現的,因為每個使用者下單的時間並不確定,所以這時候就需要用到延遲佇列。延遲佇列本身也是佇列...