2014-03-23 00:22:25 +00:00
|
|
|
worker_processes Integer(ENV['UNICORN_WORKERS'] || 3)
|
|
|
|
timeout 30
|
|
|
|
preload_app true
|
|
|
|
|
2014-03-23 04:13:19 +00:00
|
|
|
listen ENV['UNICORN_PORT']
|
|
|
|
listen ENV['UNICORN_SOCKET']
|
|
|
|
|
2014-03-23 00:22:25 +00:00
|
|
|
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
|
|
|
|
|
|
|
|
defined?(ActiveRecord::Base) and
|
|
|
|
ActiveRecord::Base.connection.disconnect!
|
|
|
|
end
|
|
|
|
|
|
|
|
after_fork do |server, worker|
|
|
|
|
Signal.trap 'TERM' do
|
|
|
|
puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to send QUIT'
|
|
|
|
end
|
|
|
|
|
|
|
|
defined?(ActiveRecord::Base) and
|
|
|
|
ActiveRecord::Base.establish_connection
|
|
|
|
end
|