Can anyone shed any light on why “reaper” (whilst seemingly working re restarting my mongrel ruby process) does not pick up changes to my application? (e.g. changing a title in a view for example). It’s like the “mongrel_rails start etc…” is just restarting the current process but ignoring the new details re where the new application directory is. That is with capistrano the new releases are put in different directories, and are referenced in the command line options to “mongrel_rails”, however it seems these are being picked up. I basically have to do a “reaper -a kill” and then a “nohup script/spin” to get it to recognize the new application directory.
Here’s an example of the scenario when I run reaper, the ruby processes is restarted, but it doesn’t pick up the new directory (i.e. application changes).
– CONSOLE OUTPUT —
[root@home ~]# cd /u/apps/equity/current/
[root@home current]# ./script/process/reaper
– MONGREL LOG EXTRACT –
** USR2 signal received.
** Restarting with arguments: ruby /usr/local/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/equity/releases/20090209050120/tmp/pids/dispatch.3001.pid -e production -c /u/apps/equity/releases/20090209050120 -l /u/apps/equity/releases/20090209050120/log/mongrel.log
** Daemonized, any open files are closed. Look at /u/apps/equity/releases/20090209050120/tmp/pids/dispatch.3001.pid and /u/apps/equity/releases/20090209050120/log/mongrel.log for info.
** Starting Mongrel listening at 0.0.0.0:3001
** Starting Rails with production environment…
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready. TERM => stop. USR2 => restart. INT => stop (no restart).
** Rails signals registered. HUP => reload (without restart). It might not work well.
** Mongrel 1.1.5 available at 0.0.0.0:3001
** Writing PID file to /u/apps/equity/releases/20090209050120/tmp/pids/dispatch.3001.pid