2012-01-03 61 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