【rabbitMQ】rabbitmqctl手动添加、删除、清理队

2024-08-23  本文已影响0人  Bogon

如何使用rabbitmqctl手动添加队列 ?

要使用rabbitmqctl手动添加队列,您可以使用以下命令:

rabbitmqctl -n <vhost_name> declare queue name=<queue_name> durable=<boolean> auto_delete=<boolean> arguments=<arguments>

其中:

例如,要创建一个名为“my_queue”的持久队列,不自动删除,消息存活时间为60秒,可以使用以下命令:

rabbitmqctl -n / declare queue name=my_queue durable=true auto_delete=false arguments="{x-message-ttl, 60000}"

确保您有足够的权限来执行这些命令,并且RabbitMQ服务正在运行。

如何使用rabbitmqctl手动输出队列 ?

要使用rabbitmqctl删除RabbitMQ中的队列,可以使用以下命令:

rabbitmqctl delete_queue <queue_name>

这里 <queue_name> 是你想要删除的队列的名称。

如果你想要删除一个持久化的队列,你需要添加--force选项,因为默认情况下不能删除有消费者正在使用的持久化队列。

rabbitmqctl delete_queue --force <queue_name>

如果你想要删除多个队列,可以多次运行这个命令,或者使用通配符删除多个匹配的队列:

rabbitmqctl delete_queue 'my-queue-*'

这将删除所有以my-queue-开头的队列。

RabbitMQ没有提供批量删除queue的命令或功能,但是有提供列出所有队列名称以及删除单个queue的功能。
我们可以借助Linux的xargs命令来批量删除指定的queue:

//删除以hello开头的queue
rabbitmqctl list_queues| grep ^hello | awk '{print $1}' | xargs -n1 rabbitmqctl delete_queue

请确保在运行这些命令之前已经登录到RabbitMQ服务器,并且有足够的权限执行删除操作。

在RabbitMQ中,执行队列相关操作时,是否需要指定vhost取决于你的具体需求和配置。

RabbitMQ支持虚拟主机(vhost)的概念,每个vhost本质上是一个独立的RabbitMQ服务器实例,拥有自己的队列、交换器和绑定等。
默认情况下,RabbitMQ会提供一个名为"/"的vhost。如果你在使用默认vhost,那么在执行队列操作时可能不需要显式指定vhost。

然而,如果你的RabbitMQ实例中配置了多个vhost,并且你想要在特定的vhost下执行队列操作(如创建、删除队列等),那么你就需要在执行命令时指定vhost。这通常通过在命令中添加-v或--vhost参数来实现,具体取决于你使用的RabbitMQ版本和命令行工具的语法。

因此,是否需要指定vhost取决于你的RabbitMQ配置和你想要操作的目标vhost。

如何 使用 rabbitmqctl 命令行工具可以手动 purge 队列?

rabbitmqctl purge_queue  -p /    <queue_name>

如果使用 rabbitmqctl list_queues 需要列出队列更详细的信息 ,并格式化输出 ?

rabbitmqctl list_queues name messages messages_ready messages_unacknowledged  -p / | grep -v  "Listing queues ..." | awk '{ printf "%-60s %-10s %-10s %-10s\n", $1, $2, $3, $4 }'

rabbitmqctl list_queues 如何输出队列有堆积的队列,输出堆积数前10的队列 ?

rabbitmqctl list_queues name messages messages_ready messages_unacknowledged   -p / | grep -v  "Listing queues ..." |awk '$2>0' | sort -k2 -nr | head -n 10 | awk '{ printf "%-60s %-10s\n", $1, $2 }'

此命令的作用如下:

此命令将输出堆积数前10的队列的名称和消息总数。您可以根据需要调整输出格式。

上一篇 下一篇

猜你喜欢

热点阅读