As long as you can apply DB migrations before the waiting requests timeout (and then set the number of workers back to something sensible) you can perform quite major upgrades without even dropping connections.
[1] http://uwsgi-docs.readthedocs.org/en/latest/Changelog-1.9.html#chain-reloadingFor example, if you introduce a new ajax endpoint in the release, and a client hits a new worker generating a HTML page that calls it, but 90% of your gunicorn workers are still serving the old version of the app, 90% chance that you're going to 404 that request.
A new AJAX endpoint is pretty simple to work around with 2 releases, one to add the endpoint and another to use it. Most changes probably aren't that fortunate.
It's as simple as
`pkill -f --signal HUP "gunicorn: master \[procname\]"`
[1] https://gunicorn-docs.readthedocs.org/en/latest/faq.html?hig...