我想使用Delayed :: Job(或者更適合我的問題的作業隊列)將作業分派到多個後臺守護進程。使用Delayed :: Job來管理多個作業隊列
我有幾個執行不同職責的後臺守護進程。每個人都對來自Rails應用程序的不同職位感興趣。這是否可以使用Delayed :: Job,或者可能有更適合此任務的不同作業隊列?
我想使用Delayed :: Job(或者更適合我的問題的作業隊列)將作業分派到多個後臺守護進程。使用Delayed :: Job來管理多個作業隊列
我有幾個執行不同職責的後臺守護進程。每個人都對來自Rails應用程序的不同職位感興趣。這是否可以使用Delayed :: Job,或者可能有更適合此任務的不同作業隊列?
自那時以來http://github.com/collectiveidea/delayed_job已達到v3.0幷包括命名隊列!非常適合簡單的分組隊列需求。
DJ工作人員只是從隊列中抓住第一份工作(只有一份),然後做。每個工人都是一樣的。您可以運行多個工作人員,但他們都將從同一隊列中工作。
如果你喜歡的延時工作,這將會是很簡單的創建多個表,每個隊列一個
工人得到它的從
class Job < ActiveRecord::Base
MAX_ATTEMPTS = 25
MAX_RUN_TIME = 4.hours
set_table_name :delayed_jobs
表名稱,以便您可以編輯和創建每桌一次遷移。然後,當你開始工作時,你會爲每個隊列啓動一名工作人員。
Resque是支持多個隊列作業隊列庫。
答案就在這裏:
Delayed_job - Multiple parallel queues?
使用中的delayed_job -i選項(而不是用於產卵多個工人-n選項)來設置一個唯一的ID爲每個作業。