2013-03-23 54 views
0

對於我們的應用程序,我們正在設置是這樣的:Rails的寶石來管理隊列和延時結果

我們是在隊列中的多個任務(從數據庫中讀取,這裏沒有什麼特別),它們是由每個用戶完成。一旦用戶完成任務,他們會被問到結果是什麼。每個結果都有自己的一套規則。這些規則看起來就像這樣:

  • 後續的「X」天
  • 等待「X」之後的下一個後續
  • 認沽任務放回隊列前幾天的「x」天

delayed_jobs能夠處理這個問題嗎?如果有任何問題,我正在使用一個pg數據庫。

回答

2

快速查看Github homepage for DelayedJob產生了這個!看起來你可以很容易地安排在某個特定的將來發生的事情:

def follow_up 
    # Some other code 
    end 
    # 12.minutes.from_now will be evaluated when follow_up is called 

    handle_asynchronously :follow_up, :run_at => Proc.new { 12.days.from_now }