Hi folks, I''ve experimented a problem while deploying my app,
I''ve
sent the HUP signal to the master process, I''ve checked everything is
ok: new master and workers are spawned and the old ones are
killed(I''ve checked the PIDs), but the new code deployed isn''t
reflected in the living site, so I''ve to stop and start again unicorn
in order to see the new changes, here is my unicorn config:
rails_env = ENV[''RAILS_ENV''] || ''production''
worker_processes (rails_env == ''production'' ? 3 : 1)
preload_app true
timeout 30
listen File.expand_path(File.join(__FILE__,
"../../tmp/sockets/unicorn.sock")), :backlog => 2048
if GC.respond_to?(:copy_on_write_friendly=)
GC.copy_on_write_friendly = true
end
before_fork do |server, worker|
old_pid = RAILS_ROOT + ''/tmp/pids/unicorn.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|
ActiveRecord::Base.establish_connection
begin
worker.user(''peruautos'', ''www-data'') if
Process.euid == 0
rescue => e
if RAILS_ENV == ''development''
STDERR.puts "couldn''t change user, oh well"
else
raise e
end
end
end
I''m using unicorn 1.1.2 and rack 1.0.1
Regards.