Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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 :)

like image 641
Garth Humphreys Avatar asked Jun 10 '11 16:06

Garth Humphreys


1 Answers

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.

like image 66
Mark Lavin Avatar answered Sep 18 '22 07:09

Mark Lavin