Ruby on rails rails初始值设定项的对立面(2.xx)?

Ruby on rails rails初始值设定项的对立面(2.xx)?,ruby-on-rails,jrubyonrails,Ruby On Rails,Jrubyonrails,启动rails应用程序时,我在config/initializers/中运行了几个守护程序,但我需要一种方法来检测应用程序何时关闭,并停止守护程序 有什么地方可以让我这么做吗?据我所知,在Rails框架中没有正式的方法来释放应用程序。可以考虑为基本的Ruby语言设施安装一个或多个处理程序。但是,这只处理应用程序的有序关闭 一个更通用的策略是使用服务器监控框架,它将捕获应用程序的有序和意外退出案例。我非常怀疑,如果rails实例托管在内部,并且相关的Apache或Nginx服务器由于某种原因崩溃,

启动rails应用程序时,我在config/initializers/中运行了几个守护程序,但我需要一种方法来检测应用程序何时关闭,并停止守护程序


有什么地方可以让我这么做吗?

据我所知,在Rails框架中没有正式的方法来释放应用程序。可以考虑为基本的Ruby语言设施安装一个或多个处理程序。但是,这只处理应用程序的有序关闭

一个更通用的策略是使用服务器监控框架,它将捕获应用程序的有序和意外退出案例。我非常怀疑,如果rails实例托管在内部,并且相关的Apache或Nginx服务器由于某种原因崩溃,那么会调用
at_exit
处理程序,尽管我没有实际测试过这一点。类似的观察结果可能适用于任何意外退出的应用程序容器


<>你可以考虑类似或(或取决于你的需求有多复杂)来实施一个总的策略来处理应用程序关闭和为每一种情况做正确的事情。这些框架也可以监视这些守护进程。

感谢bjg的出色回答。快速提问:God、Monit和Nagios是否都在JRuby环境中运行?因此Monit和Nagios可以监控任何类型的进程,包括Jetty/Tomcat/Glassfish之类的java进程,或者任何您计划部署JRuby应用程序的进程。据我所知,上帝(用Ruby编写)并没有在JRuby中运行。但是,没有理由认为上帝和被监控的应用程序必须使用相同的红宝石运行(除非您因为其他原因而被迫这样做)。