2010-10-20 42 views
6

我們遇到了很大的問題與delayed_job的插件 - http://github.com/collectiveidea/delayed_job/軌delayed_job的內存消耗問題

當我們開始與任務「Ruby腳本/ delayed_job的啓動」,該過程不會放手它獲取RAM。

因此,它開始於10%,25%,達到80%,並且永不放棄ram,即使它沒有任何工作要處理。

任何想法,我們可以克服這一點?

謝謝!

(PS:RAILS_ENV =生產腳本/ delayed_job的開始並沒有爲我們工作啓動delayed_job的工人)根據來自IRC(從@ReinH)建議

+0

爲什麼不'RAILS_ENV =生產腳本/ delayed_job的start'爲你工作?否則,你正在開發中運行它。在這種情況下,這個問題發生在什麼時間段? – wuputah 2010-10-20 16:12:20

+0

我發現搖動'GC.start'魔棒有時會刺激垃圾收集器進入真正的工作狀態。 – tadman 2010-10-20 16:35:01

+0

您的應用程序中某處可能存在內存泄漏。關於在rails指南中調試該問題有幾點提示(http://guides.rubyonrails.org/debugging_rails_applications.html#debugging-memory-leaks) – 2010-10-20 18:26:03

回答

2

,林心如永遠不會釋放內存回OS 。

因此,我現在唯一知道的解決方案是現在手動重新啓動delayed_job插件。

@ReinH還指出delayed_job_spawner插件,這似乎是另一種可能的解決辦法 - http://github.com/woahdae/delayed_job_spawner

+0

哇,我從來不知道這一點,但現在運行它似乎是一個問題,他們需要解決這裏是這個問題的鏈接:https://github.com/collectiveidea/delayed_job/issues/336 – Jonathan 2012-05-25 19:52:04

+0

供參考:使用rails 3延遲工作似乎對我們來說工作正常 - 要麼沒有這個問題,要麼我們在設置中做了一些不同的事情。 – stringo0 2012-06-18 16:18:29