Получение сообщений из очереди (ов) RabbitMQ

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

php-amqp, похоже, не позволяет мне это делать. Если я ошибаюсь, пожалуйста, помогите мне здесь 🙂

Solutions Collecting From Web of "Получение сообщений из очереди (ов) RabbitMQ"

Джеймс, не могли бы вы спросить этот вопрос на rabbitmq-обсуждать? Ваш вопрос касается того, что означает «запрашивать» очередь, чтобы получать сообщения. В RabbitMQ вы потребляете сообщения из очередей и выполняете фильтрацию с использованием привязок к очереди. Взгляните на это введение – http://blogs.digitar.com/jjww/2009/01/rabbits-and-warrens/

ура

alexis RabbitMQ

Если вам нужно знать, сколько сообщений находится в очереди, вы можете получить эту информацию, когда объявляете очередь, или если вы используете basic.get для получения одного сообщения. Обычно получатели сообщений будут использовать basic.consume и они не будут знать, сколько сообщений ждет.

Такой вопрос больше связан с типом данных очереди и общей концепцией AMQP.

В AMQP (и в RabbitMQ, который является AMQP-совместимым брокером) очереди являются типичными очередями FIFO. Очередь – это не типы данных, которые обычно используются для доступа к произвольным элементам, а RabbitMQ в это время не предоставляет никакого способа обойти концепцию FIFO и допускать такой доступ. По крайней мере, из коробки. Возможно, есть сторонние плагины, но я не знаю таких подобных. И еще раз, это разрушит целую концепцию FIFO, и она просто станет новым redis или что-то еще, даже не говоря о воздействии на производительность (можно проверить сложность работы общих структур данных, даже это Q & A на SO – Каковы временные сложности различных структуры данных? дает краткое представление о том, почему добавление произвольного доступа не является целью AMQP или любого AMQP-совместимого брокера, который заботится о производительности).

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