2010-07-11 159 views
8

我現在在嘗試delayed_job,並且有一些問題。關於'delayed_job'的一些基本問題

http://github.com/collectiveidea/delayed_job頁面,我可以看到一些信息:

工人可以在任何 計算機上運行,​​只要他們有機會 到數據庫,它們的時鐘是 同步。請記住,每個工人 將至少每5秒檢查一次數據庫。

  1. 當我調用rake jobs:work一次,它會創建ONE工人,對不對?

  2. 當工作人員檢查數據庫,它會讀取ALL新的和失敗的任務每次,並運行它們?

  3. 它說工作人員會每隔5秒檢查一次數據庫,我可以讓它變成2秒嗎?

  4. 當我創建一個worker(rake jobs:work)時,數據庫中已經有10個任務,每個任務都需要3s。 DelayedJob將創建多少個進程?總共需要多少秒鐘?

回答

13
  1. Delayed::Worker.sleep_delay = 2
  2. 1工人將依次在每個任務的工作,路過門前或進入下一個失敗了。總共30秒+無論多長時間,總共9次睡眠延遲(默認爲45秒)。我不知道如何回答你關於流程的問題。 1名工人被創建,這是一個過程。可能會創建零個或多個其他進程,具體取決於要運行的作業。
+0

@ x1a4,謝謝。你能看到我更新的問題,還有一個問題:) – Freewind 2010-07-11 07:34:34

+0

有沒有反正加快?我的意思是,這些任務可以並行執行嗎? – Freewind 2010-07-11 07:37:16

+0

運行多個工人 – x1a4 2010-07-11 07:39:12