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