【发布时间】:2014-07-12 22:00:01
【问题描述】:
我需要根据用于启动应用程序的 Web 服务器执行某些初始化。是否可以通过 rails 初始化程序以编程方式检测到它?
【问题讨论】:
-
为什么你需要知道,什么样的初始化取决于web服务器的类型?告诉我们更多关于您想要实现的目标,也许有更好的方法。对我来说听起来很奇怪,应用程序应该可以响应查找此类信息。我认为将这些信息传递给应用程序(例如通过 ENV)是一个更好的主意。
-
是的,我知道这有点奇怪......而且我担心如果我详细介绍它会更奇怪。但是......有从我们的rails应用程序开始的子进程(我们使用selenium webdriver制作服务器端截图,运行firefox子进程)。问题是 Thin 不会在停止/重新启动时杀死这些进程,但 Passenger 会。所以我想仅在应用程序运行时手动关闭 firefox。虽然我还不知道如何捕捉“退出事件”,因为
at_exit处理程序不会在重新启动时调用,仅在停止时调用。 -
实际上,我需要一种有保证的方法来在 Rails 应用程序停止/重新启动时关闭它的所有子进程,而不取决于特定的 Web 服务器,但这可能是另一个问题。
标签: ruby-on-rails ruby