乘飞机的乘客是否使用分叉,如果是,则在何处设置after_fork配置? [英] Does phusion passenger use forking, and if so, where to set after_fork config?

查看:90
本文介绍了乘飞机的乘客是否使用分叉,如果是,则在何处设置after_fork配置?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

phusion乘客是否使用分叉?如果是这样,我应该在哪里设置after_fork配置,根据建议是由Heroku为独角兽设计的(重新:使用Rails设置PostGIS)?

Does phusion passenger use forking? If so, where should I set an after_fork configuration, as recommended by Heroku for unicorn (re: Setting up PostGIS with Rails)?

从Heroku的文档中

From Heroku's docs:

此外,如果在重新建立连接的地方使用了独角兽或任何其他进程分叉代码,请确保也将适配器覆盖为postgis.例如:

Additionally, if unicorn or any other process forking code is used where the connection is re-established, make sure to override the adapter to postgis as well. For example:

# unicorn.rb
after_fork do |server, worker|
  if defined?(ActiveRecord::Base)
    config = Rails.application.config.database_configuration[Rails.env]
    config['adapter'] = 'postgis'
    ActiveRecord::Base.establish_connection(config)
  end
end

推荐答案

是的,Phusion Passenger进行分叉,几乎与Unicorn一样.独角兽的默认行为(preload_app off)与Phusion Passenger的直接生成"相同(在Phusion Passenger中不是默认行为).独角兽的preload_app on与Phusion Passenger的智能生成"相同(Phusion Passenger中的默认设置).来源:

Yes, Phusion Passenger does forking, almost exactly like how Unicorn does it. Unicorn's default behavior (preload_app off) is the same as Phusion Passenger's "direct spawning" (not default in Phusion Passenger). Unicorn's preload_app on is the same as Phusion Passenger's "smart spawning" (default in Phusion Passenger). Sources:

  • passenger_spawn_method documentation
  • Appendix C: Spawning methods explained

后者还会教您如何安装后叉挂钩.

The latter also teaches you how to install an after-fork hook.

这篇关于乘飞机的乘客是否使用分叉,如果是,则在何处设置after_fork配置?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆