FIX: Increase timeout when trying to reload unicorn.
Also fail better when reloading takes too long by sending unicorn a TERM.
This commit is contained in:
parent
5c17e46274
commit
cfa0321aaa
|
@ -25,24 +25,29 @@ function on_reload()
|
|||
unset NEW_UNICORN_PID
|
||||
|
||||
count=0
|
||||
while [ "$count" -lt 30 -a -z "$NEW_UNICORN_PID" ]; do
|
||||
while [ "$count" -lt 180 -a -z "$NEW_UNICORN_PID" ]; do
|
||||
NEW_UNICORN_PID=`ps -f --ppid $UNICORN_PID | grep 'unicorn master' | grep -v old | grep -v worker | awk '{ print $2 }'`
|
||||
log "Waiting for new unicorn master pid... $NEW_UNICORN_PID"
|
||||
count=$((count+1))
|
||||
sleep 1
|
||||
done
|
||||
|
||||
count=0
|
||||
while [ "$count" -lt 30 -a -z "$(ps -f --ppid $NEW_UNICORN_PID | grep worker | head -1 | awk '{ print $2 }')" ]; do
|
||||
log "Waiting for new unicorn workers under $NEW_UNICORN_PID to start up..."
|
||||
count=$((count+1))
|
||||
sleep 1
|
||||
done
|
||||
if [ -n "$NEW_UNICORN_PID" ]; then
|
||||
count=0
|
||||
while [ "$count" -lt 180 -a -z "$(ps -f --ppid $NEW_UNICORN_PID | grep worker | head -1 | awk '{ print $2 }')" ]; do
|
||||
log "Waiting for new unicorn workers under $NEW_UNICORN_PID to start up..."
|
||||
count=$((count+1))
|
||||
sleep 1
|
||||
done
|
||||
|
||||
curl $LOCAL_WEB &> /dev/null
|
||||
kill -s QUIT $UNICORN_PID
|
||||
log "Old pid is: $UNICORN_PID New pid is: $NEW_UNICORN_PID"
|
||||
UNICORN_PID=$NEW_UNICORN_PID
|
||||
curl $LOCAL_WEB &> /dev/null
|
||||
kill -s QUIT $UNICORN_PID
|
||||
log "Old pid is: $UNICORN_PID New pid is: $NEW_UNICORN_PID"
|
||||
UNICORN_PID=$NEW_UNICORN_PID
|
||||
else
|
||||
log "Unicorn is taking too long to reload...Sending TERM to $UNICORN_PID"
|
||||
kill -s TERM $UNICORN_PID
|
||||
fi
|
||||
}
|
||||
|
||||
function on_reopenlogs()
|
||||
|
|
Loading…
Reference in New Issue