Skip to content

Instantly share code, notes, and snippets.

@benhoskings
Created May 23, 2013 03:24
Show Gist options
  • Save benhoskings/5632575 to your computer and use it in GitHub Desktop.
Save benhoskings/5632575 to your computer and use it in GitHub Desktop.
worker_processes 4
working_directory '.'
preload_app true
timeout 60
listen "/APP_PATH/tmp/sockets/unicorn.socket", :backlog => 1024
pid "/APP_PATH/tmp/pids/unicorn.pid"
stderr_path "/APP_PATH/log/unicorn.stderr.log"
stdout_path "/APP_PATH/log/unicorn.stdout.log"
before_fork do |server, worker|
begin
old_pid = File.read("#{server.pid}.oldbin").to_i
STDERR.puts "[worker #{worker.nr}] sending SIGQUIT to #{old_pid}"
Process.kill("QUIT", old_pid)
rescue Errno::ENOENT
STDERR.puts "[worker #{worker.nr}] no old master running."
rescue Errno::ESRCH
STDERR.puts "[worker #{worker.nr}] #{old_pid} was already gone."
end
ActiveRecord::Base.connection.disconnect!
end
after_fork do |server, worker|
ActiveRecord::Base.establish_connection
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment