Helpers - компьютеры, интернет, программирование

Получение сообщений по свойству или заголовку в RabbitMQ

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

Я использую такой API для получения сообщений из очереди:

/api/queues/vhost/name/get

и в теле:

{"count":20,"ackmode":"ack_requeue_true","encoding":"auto"}

Я подумал, может быть, можно как-то передать какой-то фильтр в теле, чтобы он мог фильтровать и возвращать сообщение, что я хочу.

Вот как выглядит мое сообщение: введите здесь описание изображения

Пробовал пройти в кузове type = "myType" или header = "myHeader"


Ответы:


1

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

RabbitMQ доставляет сообщения только по порядку из очереди. Невозможно отфильтровать сообщение, если оно находится в очереди.

Однако вы можете фильтровать сообщения по мере их публикации на бирже. Используйте обмен заголовками и связывайте очереди на основе значений заголовков. Затем каждая очередь будет содержать сообщения, которые вы ожидаете, и вы сможете использовать их.

В учебниках RabbitMQ есть раздел, в котором используется «обмен заголовками». Используйте это как руководство.

Наконец, используйте HTTP API только для тестирования. Это очень неэффективный способ получения сообщений.


ПРИМЕЧАНИЕ. команда RabbitMQ отслеживает rabbitmq-users список рассылки и лишь иногда отвечает на вопросы в StackOverflow.

11.05.2019
Новые материалы

Интуитивное понимание тензоров в машинном обучении
Тензор является важной концепцией во многих научных областях, таких как математика, физика, обработка сигналов и компьютерное зрение, и это лишь некоторые из них. В математике тензор — это..

Использование машинного обучения для диагностики болезни Альцгеймера, часть 4
Маркеры семантической согласованности для ранней диагностики болезни Альцгеймера (arXiv) Автор: Давиде Колла , Маттео Дельсанто , Марко Агосто , Бенедетто Витиелло , Даниэле Паоло Радичони..

Почему объяснимость так важна прямо сейчас?
По мере того, как системы искусственного интеллекта и инструменты на основе машинного обучения распространяются в нашей повседневной жизни, как практики, так и критики все чаще заявляют о..

Анимированный математический анализ
Использование Manim для создания математических анимированных визуализаций Визуализация данных помогает понять скрытые закономерности в данных, которые невозможно визуализировать..

Создание простого слайдера изображений с помощью JavaScript
Узнайте, как создать базовый слайдер изображений с помощью HTML, CSS и JavaScript. Введение В этом уроке мы создадим удобный слайдер изображений, используя JavaScript, HTML и CSS. Ползунок..

Создание базы данных с помощью супергероя «Python»
В этом посте мы узнаем, как создать «базу данных SQLite с помощью модуля python sqlite3, создав простую функцию входа и регистрации. Готовы ли вы к этому путешествию? Если да , давайте приступим..

ИИ для чайников: руководство для начинающих по пониманию будущего технологий
Вы чувствуете, что остались позади в мире ИИ? Не волнуйтесь, вы не одиноки! Со всей этой шумихой вокруг искусственного интеллекта может быть трудно понять, с чего начать. Но не позволяйте сленгу..