如何在RabbitMQ中手动提取队列数据


How to pull queue data manually in RabbitMQ?

自从我开始学习RabbitMQ以来,我对一个问题感到困惑。发布者发布消息,使用者连接到通道并接收消息。这意味着这是一个推式架构,而不是拉式架构,当消息可用时,消费者将自动接收消息。

我在一个场景中,我想连接到服务器并手动拉队列中的最新消息。我搜索了很多次,也看了很多例子,但没有得出任何结论。

我最后提到了这个链接:https://www.binpress.com/tutorial/getting-started-with-rabbitmq-in-php/164

谁能提供我任何类型的片段在PHP中,我可以手动拉最新的消息?

AMQP协议定义了一个"基本消费者",它是消费者自动从队列接收消息的地方。

它还定义了一个"基本get",它允许您从给定队列中检索单个消息。

一般来说,"消费"是大多数代码应该做的事情,这样消息将被尽可能快地接收和处理。但是,在不希望自动使用消息的情况下,确实存在"get"选项。

PHP AMQPLib库包含channel对象上的basic_get方法,用于PHP中的此场景。