2010-10-18 68 views
1

我有一個Rails應用程序(它像一組打印機的某種負載均衡器)需要做一些後臺處理。後臺處理邏輯需要迭代所有可用(非繁忙)打印機,並且只要存在作業,就通過TCP套接字發送打印作業給每個打印作業。Rails並行後臺處理

我知道有幾個解決方案可以處理背景處理(Starling/Workling/ActiveMQ,BackgroundRB,Delayed Job等),但是最適合我需求的是什麼(我需要一名工人/每個打印機當前可用的線程)?

+0

我只能說Delayed_Jobs,但我無法想象它不適合你。您可以指定嘗試每個作業的次數,並且每個作業都會相應地運行。 – Trip 2010-10-18 12:45:43

回答

0

DelayedJob是一個不錯的簡單解決方案,因爲它集成到您​​的環境中,並使用您的應用程序數據庫。如果你不需要立即開始一個單獨的環境,這是完美的。換句話說,你不需要額外的需求,而不需要你的Rails應用程序和數據庫本身。

Resque也是一個很好的解決方案,但它需要你使用Redis數據庫。

我沒有嘗試其他解決方案,因爲它們太複雜或被Redis和DelayedJob取代。

+0

它是resque,不是救援 – shingara 2010-10-18 13:13:58

+0

@ shingara oops,你是對的。固定。 – 2010-10-18 13:43:44