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

 

posted @ 2020-04-21 15:33  欢乐豆123  阅读(12299)  评论(2编辑  收藏  举报