Commit efc0671
Changed files (3)
config/unicorn.rb
@@ -0,0 +1,26 @@
+worker_processes 4
+timeout 15
+preload_app true
+
+before_fork do |server, worker|
+ Signal.trap 'TERM' do
+ puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
+ Process.kill 'QUIT', Process.pid
+ end
+
+ if defined?(ActiveRecord::Base)
+ ActiveRecord::Base.connection.disconnect!
+ Rails.logger.info('Disconnected from ActiveRecord')
+ end
+end
+
+after_fork do |server, worker|
+ Signal.trap 'TERM' do
+ puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to sent QUIT'
+ end
+
+ if defined?(ActiveRecord::Base)
+ ActiveRecord::Base.establish_connection
+ Rails.logger.info('Connected to ActiveRecord')
+ end
+end
Gemfile
@@ -23,3 +23,7 @@ group :assets do
gem 'uglifier', '>= 1.0.3'
gem 'asset_sync'
end
+
+group :production do
+ gem 'unicorn'
+end
Gemfile.lock
@@ -79,6 +79,7 @@ GEM
kaminari (0.14.1)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
+ kgio (2.8.0)
mail (2.5.4)
mime-types (~> 1.16)
treetop (~> 1.4.8)
@@ -112,6 +113,7 @@ GEM
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (>= 0.14.6, < 2.0)
+ raindrops (0.11.0)
rake (10.0.4)
rdoc (3.12.2)
json (~> 1.4)
@@ -148,6 +150,10 @@ GEM
uglifier (2.1.1)
execjs (>= 0.3.0)
multi_json (~> 1.0, >= 1.0.2)
+ unicorn (4.6.2)
+ kgio (~> 2.6)
+ rack
+ raindrops (~> 0.7)
PLATFORMS
ruby
@@ -169,3 +175,4 @@ DEPENDENCIES
sass-rails (~> 3.2.3)
sqlite3
uglifier (>= 1.0.3)
+ unicorn