From 46681f6ffd71b0902801f728f8911b02f3f09e1e Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 21 Mar 2009 13:14:33 -0700 Subject: Rotate master logs before workers. The master _may_ run with different user/group/umask than the workers. Since the logs were always created by the master process, the master should rotate them first to ensure correct ownership and permissions. This way if the workers fail log rotation and die, they'll be automatically respawned with the new logs in place. --- lib/unicorn.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/unicorn.rb b/lib/unicorn.rb index 9d40287..44d1b6d 100644 --- a/lib/unicorn.rb +++ b/lib/unicorn.rb @@ -179,8 +179,10 @@ module Unicorn stop(false) break when 'USR1' # rotate logs - kill_each_worker('USR1') + logger.info "master rotating logs..." Unicorn::Util.reopen_logs + logger.info "master done rotating logs" + kill_each_worker('USR1') when 'USR2' # exec binary, stay alive in case something went wrong reexec when 'WINCH' -- cgit v1.2.3-24-ge0c7