2012-01-03 62 views
2

我有大約十個亞馬遜ec2服務器,所有這些服務器都從rake任務不斷寫入我的mysql數據庫..偶爾當我登錄到他們檢查他們的進度時,我會發現他們已經停止;不是來自已經提出的任何例外,而是隻留下「殺死」一詞。Rake Task「Killed」

即使我運行--trace的任務,打印出的唯一東西就是「Killed」一詞。

我不明白爲什麼這種情況正在發生(我甚至成立了搶救塊,以確保這不是被鎖定在和我的數據庫做的問題,或者類似的什麼東西..)

我希望有人在計算器世界會知道如何可以

1)被停止我的rake任務隨機「殺」

2)幫我建立了我的服務器立即重新推出任務,如果他們「殺」

回答

4

我懷疑他們是OOM killer受害者。也許他們佔用太多內存,系統爲了生存而殺死他們。

您可以設置一個god來監視這些rake任務。如果他們被殺害,上帝可以重新啓動他們。

+0

任何機會,我可以打擾你的代碼示例? – BananaNeil 2012-01-04 10:57:57

+1

上帝的例子不夠嗎? – 2012-01-04 11:06:32

+0

theres just so so much there O_o另外,我不確定如何用rake任務來實現它。 – BananaNeil 2012-01-04 11:18:13