Hi,
I’ve tracked my “cap deploy” problems down to the fact that (at least
with the unix user I’ve created for use with capistrano) when
“script/process/reaper” is run, whilst it restarts the ruby process
the resulting ruby process itself has a path that reflects the
previous “release” path, not the latest one that was put in place as a
result of capistrano. Note that the link (created by ln …etc) is
correct, so it seems “cap deploy” did it’s job correctly except that
the “reaper” call when it restarts the ruby processes does use the
latest “current” path. If I log onto the prod server with this user
and manually run “reaper” the same issue occurs.
Any ideas?
Also, I can’t quite see in the reaper code in rails how it actually
repopulates the PID file with the new PID number after a restart? Does
mongrel itself do this when it received the “kill -s USR2”?
=== standard out ======
Macintosh-2:myequity greg$ cap deploy --debug
- executing `deploy’
- executing `deploy:update’
** transaction: start - executing `deploy:update_code’
- executing “svn checkout -q -r85
http://10.1.1.1:3690/svn/myequity/trunk
/u/apps/myequity/releases/20080908032908 && (echo 85 > /u/apps/
myequity/releases/20080908032908/REVISION)”
Preparing to execute command: svn checkout -q -r85
http://10.1.1.1:3690/svn/myequity/trunk /u/apps/myequity/releases/
20080908032908 && (echo 85 > /u/apps/myequity/releases/20080908032908/
REVISION)
Execute ([Yes], No, Abort) ? |y| y
servers: [“10.1.1.1”]
Password:
[[email protected]] executing command
command finished - executing `deploy:finalize_update’
- executing “chmod -R g+w /u/apps/myequity/releases/20080908032908”
Preparing to execute command: chmod -R g+w /u/apps/myequity/releases/
20080908032908
Execute ([Yes], No, Abort) ? |y| y
servers: [“10.1.1.1”]
[[email protected]] executing command
command finished - executing “rm -rf /u/apps/myequity/releases/20080908032908/log /u/
apps/myequity/releases/20080908032908/public/system /u/apps/myequity/
releases/20080908032908/tmp/pids &&\n mkdir -p /u/apps/myequity/
releases/20080908032908/public &&\n mkdir -p /u/apps/myequity/
releases/20080908032908/tmp &&\n ln -s /u/apps/myequity/shared/
log /u/apps/myequity/releases/20080908032908/log &&\n ln -s /u/
apps/myequity/shared/system /u/apps/myequity/releases/20080908032908/
public/system &&\n ln -s /u/apps/myequity/shared/pids /u/apps/
myequity/releases/20080908032908/tmp/pids”
Preparing to execute command: rm -rf /u/apps/myequity/releases/
20080908032908/log /u/apps/myequity/releases/20080908032908/public/
system /u/apps/myequity/releases/20080908032908/tmp/pids &&
mkdir -p /u/apps/myequity/releases/20080908032908/public &&
mkdir -p /u/apps/myequity/releases/20080908032908/tmp &&
ln -s /u/apps/myequity/shared/log /u/apps/myequity/releases/
20080908032908/log &&
ln -s /u/apps/myequity/shared/system /u/apps/myequity/releases/
20080908032908/public/system &&
ln -s /u/apps/myequity/shared/pids /u/apps/myequity/releases/
20080908032908/tmp/pids
Execute ([Yes], No, Abort) ? |y| y
servers: [“10.1.1.1”]
[[email protected]] executing command
command finished - executing “find /u/apps/myequity/releases/20080908032908/public/
images /u/apps/myequity/releases/20080908032908/public/stylesheets /u/
apps/myequity/releases/20080908032908/public/javascripts -exec touch -
t 200809080329.22 {} ‘;’; true”
Preparing to execute command: find /u/apps/myequity/releases/
20080908032908/public/images /u/apps/myequity/releases/20080908032908/
public/stylesheets /u/apps/myequity/releases/20080908032908/public/
javascripts -exec touch -t 200809080329.22 {} ‘;’; true
Execute ([Yes], No, Abort) ? |y| y
servers: [“10.1.1.1”]
[[email protected]] executing command
command finished - executing `deploy:symlink’
- executing “rm -f /u/apps/myequity/current && ln -s /u/apps/
myequity/releases/20080908032908 /u/apps/myequity/current”
Preparing to execute command: rm -f /u/apps/myequity/current && ln -s /
u/apps/myequity/releases/20080908032908 /u/apps/myequity/current
Execute ([Yes], No, Abort) ? |y| y
servers: [“10.1.1.1”]
[[email protected]] executing command
command finished
** transaction: commit - executing `deploy:restart’
- executing “sudo -p 'sudo password: ’ -u callagga /u/apps/myequity/
current/script/process/reaper”
Preparing to execute command: sudo -p 'sudo password: ’ -u callagga /u/
apps/myequity/current/script/process/reaper
Execute ([Yes], No, Abort) ? |y| y
servers: [“10.1.1.1”]
[[email protected]] executing command
*** [err :: [email protected]]
** [out :: [email protected]] Restarting 19776
command finished
Macintosh-2:myequity greg$
====================