public
Created

  • Download Gist
gistfile1.rb
Ruby
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
working_directory "/srv/tutti/current"
pid "/srv/tutti/current/tmp/pids/unicorn.pid"
stderr_path "/srv/tutti/shared/log/unicorn.log"
stdout_path "/srv/tutti/shared/log/unicorn.log"
 
listen "/tmp/unicorn.tutti.sock"
worker_processes 2
timeout 30
 
preload_app true
 
before_fork do |server, worker|
# Disconnect since the database connection will not carry over
if defined? ActiveRecord::Base
ActiveRecord::Base.connection.disconnect!
end
 
# Quit the old unicorn process
old_pid = "#{server.config[:pid]}.oldbin"
if File.exists?(old_pid) && server.pid != old_pid
begin
Process.kill("QUIT", File.read(old_pid).to_i)
rescue Errno::ENOENT, Errno::ESRCH
# someone else did our job for us
end
end
end
 
after_fork do |server, worker|
# Start up the database connection again in the worker
if defined?(ActiveRecord::Base)
ActiveRecord::Base.establish_connection
end
end

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.