我如何让rabbitmq的客户脚本不断倾听

时间:2013-09-16 09:18:20

标签: php linux rabbitmq

我必须为网络服务实施rabbitmq解决方案。 好吧,我决定部署一个简单的队列,一个生产者和一个客户。 我的问题是如何让costumer.php连续收听来自producer.php的请求?我可以将它附加到我的crontab吗?如何定义可在后台运行的工作进程?

如何向客户发送SOAP调用?

1 个答案:

答案 0 :(得分:1)

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

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

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

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

如果你想使用SOAP调用,它与rabbitmq没有任何关系。如果您愿意,可以同时使用它们,也可以调用相同的类来完成任务,但是您必须创建另一层代码。