Is there anyway to put a django site into maintenance mode using fabric?

Garth Humphreys picture Garth Humphreys · Jun 10, 2011 · Viewed 10k times · Source

I'm currently using MaintenanceModeMiddleware to put my site into maintenance mode, but it requires you make the change in the settings.py file on the remote server. I would like to use fabric to remotely put the site into maintenance mode. Is there a way to achieve this? Or is there a better method for doing this? Thanks.

[UPDATE]

Thanks for the feedback everyone in the end this is what I did and it works great for me, http://garthhumphreys.com/2011/06/11/painless-django-maintenance-mode-with-fabric/ - I do like the idea of uncomment lines but with my setup if I were to do that on the production server it would be overwritten once I pushed the new version out, so in the end putting the site into maintenance mode from the server level and not the django level works a lot better and is truly easier and flexible, for me at least :)

Answer

Mark Lavin picture Mark Lavin · Jun 10, 2011

Fabric does have commands to help you comment or uncomment lines in a given file in fabric.contrib.files. See the docs here: http://docs.fabfile.org/en/1.0.1/api/contrib/files.html

Personally I prefer to handle this at the front-end proxy rather than in a Django middleware. I would take a look at this question Show a custom 503 page if upstream is down which configures Nginx to use a custom page when the upstream is down.