Re:Deploying Python Without Downtime
by philipcristiano on Thursday June 27, 2013 @09:05AM
(#5952047)
That's definitely an issue and you have to weight the time it takes to work around that with how long you mind the service being unreachable.
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.
For 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.