diff --git a/config/unicorn_launcher b/config/unicorn_launcher index b2eb9b8ac8e..17f492462d7 100755 --- a/config/unicorn_launcher +++ b/config/unicorn_launcher @@ -15,9 +15,14 @@ function on_reload() { echo "Reloading unicorn" kill -s USR2 $UNICORN_PID - sleep 10 + + while [ -z "$NEW_UNICORN_PID" ]; do + echo "waiting for new unicorn master pid" + NEW_UNICORN_PID=`ps -f --ppid $UNICORN_PID | grep 'unicorn master' | grep -v worker | awk '{ print $2 }'` + sleep 1 + done + curl $LOCAL_WEB &> /dev/null - NEW_UNICORN_PID=`ps -f --ppid $UNICORN_PID | grep unicorn | grep -v worker | awk '{ print $2 }'` kill -s QUIT $UNICORN_PID echo "Old pid is: $UNICORN_PID New pid is: $NEW_UNICORN_PID" UNICORN_PID=$NEW_UNICORN_PID