Как удалить привязку очереди из RabbitMQ? - PullRequest
8 голосов
/ 23 ноября 2010

Я использую RabbitMQ для маршрутизации сообщений заинтересованным подписчикам по темам. У каждого подписчика есть очередь, и я связываю очередь с интересующими его темами. Я хотел бы позволить пользователю удалить элемент из списка тем.

В моей настройке это потребовало бы "открепления" связанной темы от очереди этого пользователя.

Я использую pyamqplib и не вижу способа сделать это через объект канала. Это способ удалить ранее связанные ключи маршрутизации из очереди?

Ответы [ 3 ]

5 голосов
/ 11 апреля 2011
public void unsubscribe(String queuename, String topic) throws IOException
{
   ConnectionFactory factory = new ConnectionFactory();
   factory.setHost(MQ_HOST);
   factory.setPort(MQ_PORT);

   Connection connection = factory.newConnection();
   Channel channel = connection.createChannel();
   try
   {
      channel.exchangeDeclarePassive("Channel name");
      channel.queueUnbind(queuename, "Channel name", topic);
   }
   finally
   {
      handleClose(connection, channel);
   }
}
1 голос
/ 03 марта 2019

Работа в Python?

Похоже, у Пика 0.13 есть метод unbind :

queue_unbind(queue, exchange=None, routing_key=None, arguments=None, callback=None)
1 голос
/ 03 декабря 2010
...