2
我希望我有更多的信息放在這裏,但我只是拋出網絡,希望有人對我可以嘗試什麼或看什麼方向有一些想法。基本上我有一個使用延遲工作的Rails應用程序。它將一個過程花費大約10或15分鐘時間完成後臺任務。直到昨天它工作得很好。現在,每次登錄到服務器時,都會發現沒有延遲的作業進程正在運行。我已經重新啓動,停止並開始等十幾次,並且無處可去。第二個嘗試處理隊列中的第一個項目,進程被終止,沒有任何東西被記錄到日誌文件中。delayed_job過程默默地退出
我試圖運行這樣的:
RAILS_ENV=production script/delayed_job run
而不是正常的守護進程:
RAILS_ENV=production script/delayed_job start
並沒有給我了信息。這裏是輸出:
delayed_job: process with pid 4880 started.
Killed
在它剛殺死之前它運行了大概10秒。我不知道從哪裏開始。我已經嘗試了很多東西,比如將daemon gem降級到1.0.10,就像在其他文章中建議的那樣。
任何想法都會很棒。
你是否檢查過「log/production.log'和'log/delayed_job.log'這兩個錯誤?也許只是嘗試以'正常'模式引導它,看看是否在終端顯示錯誤'RAILS_ENV = production bundle exec rake jobs:work' - 我也通常使用bundle啓動腳本,也就是'RAILS_ENV = production bundle exec script/delayed_job start' – house9
服務器是否有足夠的馬力來運行你的工作?你是否也使用這臺機器來提供網絡請求? – house9
嘿,我相信你用第二條評論把它釘在了腦袋上。我最近把這個盒子的大小從2GB降到了1GB。我在更小的(1GB)節點之間進行負載平衡。我相信這個過程會咀嚼所有的內存,並且操作系統會殺死它。我將這個盒子的大小設置爲2GB,現在可以使用了!看起來我必須找到一種方法來提高腳本的效率。它拉動了大約3百萬條記錄並對它進行了一些數字處理。它只需要每週一次這樣做,所以很難證明有這麼大的腳印盒。哦,現在問題解決了!謝謝! – Sean