# Reaper is not restarting mongrel with the latest release path? (but rather an earlier releases path

**URL:** <https://www.ruby-forum.com/t/reaper-is-not-restarting-mongrel-with-the-latest-release-path-but-rather-an-earlier-releases-path/147999>\
**Category:** Rails\
**Created:** [September 8, 2008, 7:22am UTC](https://www.ruby-forum.com/t/reaper-is-not-restarting-mongrel-with-the-latest-release-path-but-rather-an-earlier-releases-path/147999 "2008-09-08T07:22:32Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![greg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/71c47a/32.png) [@greg](https://www.ruby-forum.com/u/greg)\
**Post date:** [September 8, 2008, 7:22am UTC](https://www.ruby-forum.com/t/reaper-is-not-restarting-mongrel-with-the-latest-release-path-but-rather-an-earlier-releases-path/147999/1 "2008-09-08T07:22:32Z")

</div>

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](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](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:  
[callagga@10.1.1.1] 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”]  
[callagga@10.1.1.1] 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”]  
[callagga@10.1.1.1] 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”]  
[callagga@10.1.1.1] 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”]  
[callagga@10.1.1.1] 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”]  
[callagga@10.1.1.1] executing command  
\*\*\* [err :: [callagga@10.1.1.1](mailto:callagga@10.1.1.1)]  
\*\* [out :: [callagga@10.1.1.1](mailto:callagga@10.1.1.1)] Restarting 19776  
command finished  
Macintosh-2:myequity greg$

====================

# callagga 20557 2.8 5.3 29928 27112 ? S 13:29 0:03 ruby / usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel\_rails start -d -a 0.0.0.0 -p 3001 -P /u/apps/myequity/releases/20080908032044/tmp/pids/ dispatch.3001.pid -e production -c /u/apps/myequity/releases/ 20080908032044 -l /u/apps/myequity/releases/20080908032044/log/ mongrel.log
