2011-05-09 101 views
0

我打算使用芹菜来处理传入的Web服务请求。我明白,芹菜主要用于处理异步任务。然而,芹菜具有很多我喜欢的功能,并可以从我的项目中受益 - 优先级,速率限制,分布式体系结构等。Web服务+芹菜

我只是在努力与设计。我想要创建和启动将调用子任务的任务的Web服务。原始任务需要子任务的结果,然后当原始任务完成时,我通过Web服务将结果返回给客户端。我知道我可以同步调用任务,但这不是一个好习惯。

谢谢,

回答

1

分散/收集的东西看起来像它可能是一个地图/减少工作。如果mapreduce部分对您很重要,请使用像Disco或Hadoop这样的专门框架。否则,您需要某种完成信号,以便您可以在完成或取消所有子任务后向用户发送回复。例如,有多少个子任务尚未终止的计数器。将计数器归零的子任务可以推送新的回复任务,将回复推送给用户并关闭圆圈。

查看Mongrel2,这是一个异步Web框架,用于这种循环请求路径的示例。