2012-10-27 153 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直到你確定一切正常。當您準備好優化您的部署時,您可以考慮採取必要的步驟預裝應用程序。