设计基于消息的处理系统

时间:2010-02-25 03:15:02

标签: php rabbitmq

我正在设计一个基于RabbitMQ的消息处理系统,用于各种基于PHP的Web应用程序。 PHP守护进程将用于从队列中检索项目并执行处理。

例如,通过电子邮件发送数百个收据,邮件队列将与Web应用程序异步进行。

我的问题是,使用这种类型的系统,

的最佳方法是什么
  1. 检测发送的电子邮件的进度,即(2/100)
  2. 了解整个过程何时完成。
  3. 当知道2时,在整个过程完成后将消息发送回Web应用程序?
  4. 对于1,我认为守护进程会将消息发送到完成队列,但是第2和第3项的代码将放在哪里?

    希望这是有道理的。

    ķ

1 个答案:

答案 0 :(得分:0)

看起来你需要事件:)... PHP(与Java不同)不提供事件,所以我能看到的唯一选择是web服务器轮询守护进程。或者,守护程序可以将完成状态写入静态文件,该文件可以由Web服务器轮询(稍微提高性能)。轮询器可能是一个javascript无限循环(成功类型中断),它继续向文件或Web服务器发出ajax请求。

您还可以查看Comet(服务器推送)方法,其中守护程序可以在完成时将数据推送到服务器。

如果这有帮助,或者您需要任何其他详细信息,请告诉我。

问候 皮纳基环礁

相关问题