我在我的rails应用程序中使用resque,resque-scheduler gems。为了监控resque工作人员的工作,我正在使用God工具。我想添加这样一个神配置,它将监视resque worker中的作业运行时间。如果进程执行超过了时间限制,那么它应该重新启动worker。
我在http://god.rubyforge.org/阅读了帖子。但是,无法根据我的要求查看正确的代码库。
任何信息都将受到高度赞赏。
感谢。
答案 0 :(得分:0)
你可以做一些你的工作创建一个pid文件的东西,你可以使用上帝的FileMtime条件进行监控。作业完成后,它会重新创建pid文件,如果文件早于x,请用上帝重启进程。
编辑:添加了github源
答案 1 :(得分:0)
我遇到了同样的问题:
主要的问题是resque god配方不会监视子(forked)进程,因此你无法控制内存或花费的时间。
以下是观察子进程的解决方案:
https://github.com/mojombo/god/issues/90 https://github.com/jbgo/god/commit/918bc278e4ca5b8133fe34db06c30ccb93dcb7f0
你可以使用从原点分叉的自己的宝石来添加这些文件,我更喜欢从神食谱中获取新文件......
对于时间问题,你可以根据它给出一个新的条件(我正在做它将在这里发布)。