ruby-on-rails – 检测应用程序是否启动为HTTP服务器(耙式任务,rconsole等)

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 检测应用程序是否启动为HTTP服务器(耙式任务,rconsole等)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 EventMachineMonetarily启动e server服务器和我的rails应用程序.这是从config / initializers / momentarily.rb启动的.

我的问题是,当我运行rake任务(如db:migrate)时也会启动它.当我启动HTTP服务器时,我只希望它启动.环境不会有帮助,因为服务器启动和耙机任务都处于开发环境中.有没有办法知道应用程序正在运行HTTP服务器,而不是其他的?注意,不仅是耙子任务,EM启动也是如果我运行rails控制台,这再次不适合我的情况.

解决方法

没有一个很好的办法,我知道.您可以复制 newrelic方法(检查 local_environment.rb中的discover_dispatcher),它基本上有一个启发式列表,用于检测是否在乘客,瘦等内部运行.

乘客检查

defined?(::PhusionPassenger)

为了薄检查

if defined?(::Thin) && defined?(::Thin::Server)

猜你在找的Ruby相关文章