Rubygem God:进程的时间限制配置

时间:2011-05-18 08:17:11

标签: ruby-on-rails ruby rubygems god

我在我的rails应用程序中使用resque,resque-scheduler gems。为了监控resque工作人员的工作,我正在使用God工具。我想添加这样一个神配置,它将监视resque worker中的作业运行时间。如果进程执行超过了时间限制,那么它应该重新启动worker。

我在http://god.rubyforge.org/阅读了帖子。但是,无法根据我的要求查看正确的代码库。

任何信息都将受到高度赞赏。

感谢。

2 个答案:

答案 0 :(得分:0)

你可以做一些你的工作创建一个pid文件的东西,你可以使用上帝的FileMtime条件进行监控。作业完成后,它会重新创建pid文件,如果文件早于x,请用上帝重启进程。

来源:https://github.com/mojombo/god/blob/856d321fb135a0b453046e99c266231681bd5ffe/lib/god/conditions/file_mtime.rb

编辑:添加了github源

答案 1 :(得分:0)

我遇到了同样的问题:

主要的问题是resque god配方不会监视子(forked)进程,因此你无法控制内存或花费的时间。

以下是观察子进程的解决方案:

https://github.com/mojombo/god/issues/90 https://github.com/jbgo/god/commit/918bc278e4ca5b8133fe34db06c30ccb93dcb7f0

你可以使用从原点分叉的自己的宝石来添加这些文件,我更喜欢从神食谱中获取新文件......

对于时间问题,你可以根据它给出一个新的条件(我正在做它将在这里发布)。