2012-10-27 102 views
0

我正在从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 

不导轨自动加载初始化文件里面的信息?

回答

0

是的。只要你把它放在config/initializers,它就会被加载。

3

如果你打算使用preload_app true你必须在加载时间插座口,你很可能会,除非你采取写before_forkafter_fork麒麟挂钩的时候有些麻烦。

Unicorn docs on preload_app对此进行更详细的讨论。

[预加载]使用写入时复制友好GC反而会造成不好的事情的时候就像插座资源由主进程在加载时打开,由多个孩子共用的情况发生时,可以节省内存。

一般来说,我会建议保持preload_app false直到你确定一切正常。当您准备好优化您的部署时,您可以考虑采取必要的步骤预装应用程序。