我如何使 rabbitmq 的客户脚本持续监听


How I make rabbitmq's customer script listening continuously

我必须为Web服务实现一个rabbitmq解决方案。好吧,我决定部署一个简单的队列,有一个生产者和一个客户。我的问题是如何让客户.php不断倾听制作人的要求.php?我可以将其附加到我的 crontab 吗?如何定义将在后台工作的工作进程?

如何向客户发送 SOAP 调用?

while(count($channel->callbacks)) {
    $channel->wait();
}

循环正在执行等待部分。它将永远运行,根据需要调用$callback函数/类。

在本教程中,你可以将$callback(这里是一个函数)替换为一个数组,该数组包含消费者类的实例和要调用的函数,即array($consumer, 'processMessage')。该函数将接收消息作为参数。

在本教程中,接收.php 将无限期运行:如果您愿意,您可以将其作为守护程序运行(例如使用 runit)。

如果您希望使用 SOAP 调用,它与 rabbitmq 无关。如果您愿意,您可以同时使用两者,它们可以调用相同的类来完成任务,但您必须创建另一层代码。