USR2 to unicorn with preloaded app

Just happened to me with great surprise, that a Rails 3.2 served with
unicorn 4.3.1 did not reload after a USR2 signal.

In particular, this deploy was introducing ActiveAdmin. The admin routes
kept sending me 404 until I did a full stop and start.

So what are the cases in which the USR2 signal is not enough to reload
the app?

We have had this same problem: we have a “hot deploy” system that
deploys the new code, and then sends the USR2 signal to the master
unicorn to restart. About 20% of the time (very rough estimate, no real
research into that number) the unicorn master does not restart (though,
annoyingly, the deploy still acts like it succeeded). They respond to
KILL or QUIT but not USR2.

Edit: we are running Rails 3.0 and Unicorn 4.3.1

a github so che usavano questo script di god per monitorare unicorn.

In this case, you just pass the old PID to kill

kill -s QUIT 23820 or you can take advantage of the fact this old PID is
stored a known file (referenced in your error message) alongside the
“current” PID, and execute:

kill -s QUIT cat /home/user/app.git/tmp/

Openwave has a highly experienced Ruby R. Development team