Web services 如何开发运行后台作业的web服务

Web services 如何开发运行后台作业的web服务,web-services,perl,Web Services,Perl,假设我们有一个程序a,它调用另一台机器上的服务b(都是我开发的) 机器b上的服务可能需要数小时,因此不可能长时间保持http连接 我需要进程b通知进程a它已经完成并返回结果 我可以使用哪种技术来解决这个问题 我考虑了以下解决方案: 进程b将向进程a返回一个进程id 流程a将每隔x分钟询问一次流程是否完成 如果完成,它将返回结果 是否有一个“现成”的解决方案/模块用于此例如,有为此设计的工作经理(以及其他人)。您还可以使用消息队列(和其他)或 如果你想要一些易于设置的东西,我会选择Redis,

假设我们有一个程序a,它调用另一台机器上的服务b(都是我开发的)

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

我需要进程b通知进程a它已经完成并返回结果

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

我考虑了以下解决方案:

  • 进程b将向进程a返回一个进程id
  • 流程a将每隔x分钟询问一次流程是否完成
  • 如果完成,它将返回结果

是否有一个“现成”的解决方案/模块用于此

例如,有为此设计的工作经理(以及其他人)。您还可以使用消息队列(和其他)或


如果你想要一些易于设置的东西,我会选择Redis,尽管它与工作经理不同,可能需要更多的编程。

你的想法听起来是可行的。我在mayor ecom平台上用过类似的东西。你开始了一个大的工作,并询问状态。但是
b
无法自动告诉
a
<代码>必须询问一个。想象一下,你有一辆手推车,里面有一些你需要完成的事情。你把它拿给工人,倒在他们的桌子上,每隔几分钟你就会在办公室里大喊“你做完了吗?!”。在某个时候,他们会说他们完成了,你可以询问结果。不过,别忘了感谢他们。:)