我必须为网络服务实施rabbitmq解决方案。 好吧,我决定部署一个简单的队列,一个生产者和一个客户。 我的问题是如何让costumer.php连续收听来自producer.php的请求?我可以将它附加到我的crontab吗?如何定义可在后台运行的工作进程?
如何向客户发送SOAP调用?
答案 0 :(得分:1)
在
while(count($channel->callbacks)) {
$channel->wait();
}
循环正在做等待的部分。它将永远运行,根据需要调用$ callback函数/类。
在本教程中,您可以用包含消费者类实例和要调用的函数(即array($consumer, 'processMessage')
)的数组替换$ callback(这是一个函数)。该函数将接收消息作为参数。
在本教程中,receive.php将无限期运行:如果您愿意,可以将其作为守护程序运行(例如,使用runit)。
如果你想使用SOAP调用,它与rabbitmq没有任何关系。如果您愿意,可以同时使用它们,也可以调用相同的类来完成任务,但是您必须创建另一层代码。