You can tell Gunicorn to reload gracefully using the HUP
signal like so:
kill -HUP <pid>
(see the FAQ for details)
I use Supervisor to control my Gunicorn server, which allows me to use this (slightly hacky) way of reloading Gunicorn after a deploy:
supervisorctl status gunicorn | sed "s/.*[pid ]\([0-9]\+\)\,.*/\1/" | xargs kill -HUP
You could obviously achieve something similar with pidof
, or ps
.
This is actually run from a Fabric script, so I don’t even have to logon to the server at all.