comment puis-je nettoyer (supprimer des messages) dans une file d'attente rabbitmq?
J'utilise Ubuntu 14.04 et rabbitmq-server 3.2.4-1
# rabbitmqctl list_queues -p openstack
Listing queues ...
...
notifications.info 372
...
Par exemple:
Sudo apt-get install amqp-tools
amqp-delete-queue -q name_from_queue
Dans ce lien, vous avez plus d'options: https://stackoverflow.com/questions/5313027/rabbitmq-how-do-i-delete-all-messages-from-a-single-queue
existe-t-il un moyen de nettoyer la file d'attente sans la supprimer?
Oui; cela s'appelle purger la file d'attente et il y a beaucoup de façons de le faire.
En effet, en plus d’être quelque chose que l’on peut faire avec des outils tels que rabbitmqadmin
pointé vers le courtier, il s’agit d’une opération accessible directement à partir du protocole. Ainsi, les utilisateurs peuvent écrire et avoir écrit des outils qui prennent les noms de files d'attente et appliquent la méthode _queue.purge
_ contre eux, dans des langages aussi variés que C++ et Python.
Le paquetage amqp-utils d'Ubunt est un peu léger sur de tels outils, mais il n'est pas nécessaire de chercher très loin pour trouver des choses comme l'ensemble d'outils amqp-utils de Doug Barth écrit en Ruby et contenant un utilitaire _amqp-purge
_.
La syntaxe rabbitmqadmin
est la suivante:
file d'attente de purge rabbitmqadmin nom de file d'attente
queue.purge
. Référence Rapide AMQP 0-9-1 . Logiciel pivot. 2015.rabbitmqadmin
. Logiciel pivot. 2015.S'il s'agit d'une action opérationnelle courante pour Rabbit, vous devez ajouter une action au charme juju afin qu'il soit facilement appelé à distance sans avoir à vous connecter au système. Juju veillerait également à ce que cela soit fait à un moment où rien ne se passait dans le système (du point de vue des opérations et du déploiement, évidemment).