답변:
rabbitmqadmin은이 를위한 완벽한 도구입니다
rabbitmqadmin purge queue name=name_of_the_queue_to_be_purged
http://rabbitserver:15672/cli/
이 명령을 직접 실행할 수 있습니다
sudo rabbitmqctl purge_queue queue_name
rabbitmqctl purge_queue queue_name -p my_virt_host
큐를 제거하려면 다음 명령을 사용할 수 있습니다 (API 문서의 추가 정보).
curl -i -u guest:guest -XDELETE http://localhost:15672/api/queues/vhost_name/queue_name/contents
RabbitMQ는 AMQP (Advanced Message Queuing Protocol)를 구현하므로 이와 같은 일반적인 도구를 사용할 수 있습니다.
데비안 / 우분투 또는 이와 유사한 시스템에서 다음을 수행하십시오.
sudo apt-get install amqp-tools
amqp-delete-queue -q celery # where celery is the name of the queue to delete
RabbitMQ는 대기열에 두 가지가 있습니다.
삭제-대기열을 삭제합니다
제거-큐를 비 웁니다 (즉, 큐에서 메시지를 제거하지만 큐는 여전히 존재 함)
중요 참고 : 모든 사용자 및 구성이 삭제됩니다.
경고!
경고!
사용자와 구성을 포함하여 모든 대기열에서 데이터를 삭제하지 않는 한이 답변을 제안하지 않습니다. 그냥 재설정하십시오!
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
나는 늦었지만 다른 참조를 위해, 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)
amqp-utilsampq-purge
에서 성공적으로 사용 했습니다.
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
위해하는 메시지 만 삭제 큐 사용으로 인한를 :
sudo rabbitmqctl --node <nodename> purge_queue <queue_name>
비어 있거나 ( --if-empty ) 소비자가없는 ( --if-unused ) 큐 를 삭제 하려면 다음을 사용하십시오.
sudo rabbitmqctl --node <nodename> delete_queue <queue_name> --if-empty
또는
sudo rabbitmqctl --node <nodename> delete_queue <queue_name> --if-unused