cantino/huginn

View on GitHub
doc/deployment/unicorn/production.rb

Summary

Maintainability
A
0 mins
Test Coverage
app_path = "/home/you/app/current"

worker_processes 2
preload_app true
timeout 180
listen '/home/you/app/shared/pids/unicorn.socket'

working_directory app_path

rails_env = ENV['RAILS_ENV'] || 'production'

# Log everything to one file
stderr_path "log/unicorn.log"
stdout_path "log/unicorn.log"

# Set master PID location
pid '/home/you/app/shared/pids/unicorn.pid'

before_fork do |server, worker|
  ActiveRecord::Base.connection.disconnect!
  old_pid = "#{server.config[:pid]}.oldbin"
  if File.exist?(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|
  ActiveRecord::Base.establish_connection
end