如何开发运行后台工作的Web服务

时间:2014-01-08 09:45:40

标签: web-services perl

假设我们有一个程序a在另一台机器上调用服务b(均由我开发)。

机器b上的服务可能需要数小时,因此长时间保持http连接是不可能的。

我需要以某种方式说明进程b会通知进程它已完成并返回结果。

我可以使用哪种技术来解决这个问题?

我想到了以下解决方案:

  • 流程b将返回流程ID以处理
  • 如果流程完成,则处理a将每x分钟询问一次
  • 如果完成,则会返回结果

是否有针对此

的“现成”解决方案/模块

1 个答案:

答案 0 :(得分:2)

有工作经理为此设置,例如gearman(和其他人)。您还可以使用RabbitMQ(和其他人)或Redis等消息队列来实现它。

如果你想要一些易于设置的东西,我会选择Redis,虽然它与职业经理不一样,可能需要更多编程。