2011-08-27 44 views
0

我給每一個打印出來的ID排隊了一堆作業。我發現令人驚訝的是,當我排隊等候140個職業,每個職業都有不同的睡眠時間(n)時,我仍然可以按順序看到工作人員的輸出。這裏是從外部HTTP API向下拉動頁面的一些輸出例如:紅寶石Resque員工是否平行運行?

頁:124 頁:125 頁:126 頁:127 頁:128 頁:129 頁:130 頁:131 頁碼:133

這不應該回到不按順序,因爲每個頁面可能需要不同的時間?

回答

2

每個resque worker都在一個線程中運行。如果您只有一個resque worker處理給定隊列,則該隊列將被連續處理。如果多個resque工作人員處理單個隊列,您應該會看到結果按預期的順序重新排列。

+0

旁註:我發現resque-pool gem使它比現成的Resque rake任務更容易管理多個隊列,每個隊列都有多個工作人員。 – d11wtq