独角兽加载初始化程序
问题描述:
我正在从Thin迁移到独角兽。除了加载特定的Gem包之外,我已经在大多数网站上取得了成功。我不认为它是包本身,而是独角兽如何与初始化文件交互。独角兽加载初始化程序
这是我目前的unicorn.rb
设置。自从我使用Mongoid以来,我没有使用before_fork或after_fork。
worker_processes 3
timeout 30
preload_app true
的初始化文件是/config/initializers/asin.rb
ASIN::Configuration.configure do |config|
config.secret = ENV['AMAZON_SECRET']
config.key = ENV['AMAZON_KEY']
config.associate_tag = ENV['AMAZON_TAG']
config.version = ENV['AMAZON_VERSION']
end
不导轨自动加载初始化文件里面的信息?
答
是的。只要你把它放在config/initializers
,它就会被加载。
答
如果你打算使用preload_app true
和你必须在加载时间插座口,你很可能会,除非你采取写before_fork
和after_fork
麒麟挂钩的时候有些麻烦。
Unicorn docs on preload_app对此进行更详细的讨论。
[预加载]使用写入时复制友好GC反而会造成不好的事情的时候就像插座资源由主进程在加载时打开,由多个孩子共用的情况发生时,可以节省内存。
一般来说,我会建议保持preload_app false
直到你确定一切正常。当您准备好优化您的部署时,您可以考虑采取必要的步骤预装应用程序。