У меня есть несколько клиентов, которые подключены к обмену через autodelete:yes
. Все это издатели и потребители. Но в принципе, теперь давайте предположим, что они публикуют сообщения. Поскольку у каждого клиента есть уникальный ключ привязки, я могу делать явные вещи в каждом сообщении на машине, которая потребляет эти машины. Все работает нормально.Уведомлять пользователя, когда очередь удалена на rabbitmq
Теперь, если клиенты разбились или я завершаю его вручную (через SIGINT, ctrl + c), то очередь будет удалена. Есть ли какой-либо способ, который я могу notifiy потребителей на удаленных машинах, что очередь удалена?
Я собираюсь создать обработчик сигналов в своем клиентском приложении, поэтому всякий раз, когда я улавлю SIGINT или SIGTERM, я сообщу об удаленном пользователе (я отправлю им сообщение о том, что очередь с уникальным id будет удален)
Есть ли другие способы сделать это, или мой путь - правильный способ сделать это?
Не могли бы вы прояснить ситуацию? Когда очередь удаляется, потребитель удаляется вместе с ней (и сопутствующий канал закрывается). Поэтому потребители не должны уведомлять об этом. – theMayer
Я уточню содержание. В основном с потребителями я имел в виду удаленную машину, которая потребляет от обмена, который публикуют мои клиенты. –
Используете ли вы обмен Fanout или Topic? Я думаю, вы можете представить диаграмму, показывающую вашу топологию, потому что не очень понятно, кто публикует, где и кто потребляет оттуда. – theMayer