ensl.org/config/unicorn.rb

26 lines
639 B
Ruby
Raw Normal View History

worker_processes Integer(ENV['UNICORN_WORKERS'] || 3)
timeout 30
preload_app true
listen ENV['UNICORN_PORT']
listen ENV['UNICORN_SOCKET']
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