2010-09-03 151 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