2010-06-10 40 views
9

我想使用Delayed :: Job(或者更適合我的問題的作業隊列)將作業分派到多個後臺守護進程。使用Delayed :: Job來管理多個作業隊列

我有幾個執行不同職責的後臺守護進程。每個人都對來自Rails應用程序的不同職位感興趣。這是否可以使用Delayed :: Job,或者可能有更適合此任務的不同作業隊列?

回答

0

DJ工作人員只是從隊列中抓住第一份工作(只有一份),然後做。每個工人都是一樣的。您可以運行多個工作人員,但他們都將從同一隊列中工作。

6

如果你喜歡的延時工作,這將會是很簡單的創建多個表,每個隊列一個

工人得到它的從

class Job < ActiveRecord::Base 
    MAX_ATTEMPTS = 25 
    MAX_RUN_TIME = 4.hours 
    set_table_name :delayed_jobs 

表名稱,以便您可以編輯和創建每桌一次遷移。然後,當你開始工作時,你會爲每個隊列啓動一名工作人員。

來源:http://github.com/tobi/delayed_job