tutorial nodejs kafka rabbitmq

nodejs - RabbitMQ: cómo elimino todos los mensajes de una sola cola



rabbitmq tutorial (7)

He utilizado con éxito ampq-purge de amqp-utils para hacer esto:

git clone https://github.com/dougbarth/amqp-utils.git cd amqp-utils # extracted from Rakefile echo "source ''https://rubygems.org'' gem ''amqp'', ''~> 0.7.1'' gem ''trollop'', ''~> 1.16.2'' gem ''facets'', ''~> 2.9'' gem ''clio'', ''~> 0.3.0'' gem ''json'', ''~> 1.5'' gem ''heredoc_unindent'', ''~> 1.1.2'' gem ''msgpack'', ''~> 0.4.5''" > Gemfile bundle install --path=$PWD/gems export RUBYLIB=. export GEM_HOME=$PWD/gems/ruby/1.9.1 ruby bin/amqp-purge -v -V /vhost -u user -p queue # paste password at prompt

¿Cómo borro todos los mensajes de una sola cola? Tengo el nombre de la cola y quiero limpiarlo.


NOTA IMPORTANTE: Esto eliminará todos los usuarios y config.

ALERTA !!

ALERTA !!

No sugiero esta respuesta hasta que a menos que desee eliminar datos de todas las colas, incluidos los usuarios y las configuraciones. ¡Solo reinícialo!

rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl start_app


Para purgar la cola, puede usar el siguiente comando (más información en API doc):

curl -i -u guest:guest -XDELETE http://localhost:15672/api/queues/vhost_name/queue_name/contents


RabbitMQ implementa el Protocolo de cola de mensajes avanzado (AMQP) para que pueda usar herramientas genéricas para cosas como esta.

En Debian / Ubuntu o sistema similar, haz:

sudo apt-get install amqp-tools amqp-delete-queue -q celery # where celery is the name of the queue to delete


Supongo que es tarde, pero para referencia de otros, esto se puede hacer con pika

import pika host_ip = #host ip channel = pika.BlockingConnection(pika.ConnectionParameters(host_ip, 5672, "/", credentials=pika.PlainCredentials("username","pwd"))).channel() print "deleting queue..", channel.queue_delete(queue=queue_name)


puedes ejecutar este comando directamente

sudo rabbitmqctl purge_queue queue_name


rabbitmqadmin es la herramienta perfecta para esto

rabbitmqadmin purge queue name=name_of_the_queue_to_be_purged