我正在使用
EventMachine和
Monetarily启动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)