2010-09-03 224 views
2

Starling对于一个很好的(至少对于小型项目)和简单的消息队列来说,它并不实际管理或启动使用队列的工作人员。 Workling为Rails项目做了这个,但不适用于纯红宝石应用程序,也不适用于Sinatra。Sinatra消息队列

在我进行fork工作之前,或者使用threads/fork创建我自己的自定义工具之前,是否有另外一个工程可以完成它?

回答

2

看看resque。它是框架不可知的,包含rake任务来启动任意数量的工作者来消耗你的队列。它使用redis列表作为队列后端,因此您需要安装并管理它。

+0

真的很好。由于这是为Github创建的,Github使用Sinatra,因此它具有完整的Sinatra支持。尽管如此,我真的打算坚持starling,因为我们不必管理Redis的Erlang/OTP依赖关系,适应工作人员(http://github.com/defunkt/resque/blob/master/lib/resque/worker)。 rb)来自Resque's比改变Workling更容易。 Starling的巨大优势是你可以发送ruby对象,不仅是json,而且他们会正确地序列化/反序列化。好的:它是一个消息系统:不需要真实的对象作为消息,但它很好。 – 2010-09-04 16:13:02

+1

Redis实际上是用C编写的,所以你不需要担心Erlang。 Ubuntu在其存储库中运行redis,因此您可以从那里进行安装,但是如果需要,从源代码安装非常简单。 – 2010-09-04 16:39:55

+0

是的,我和Erlang的Riak混淆了 – 2010-09-04 18:28:18