L'extensions Flask-Maintenance permet de bloquer temporairement les requêtes entrantes (frontend).
Pour illustrer son fonctionnement, on utilise ici une application Flask monolithique minimale. Depuis votre environnement virtuel Python :
pip install Flask Flask-Maintenance
En attendant on peut remplacer les fichiers du paquetage dans l'environnement virtuel par ceux corrigés voir README.txt dans la section sources proposées ci-dessous.
""" Application Flask monolithique contenue dans un module python. Adaptée aux tests et preuves de concepts. Nom : app.py ou wsgi.py """ from flask import Flask, render_template from flask_maintenance import Maintenance app= Flask(__name__) Maintenance(app) @app.route("/") def hello_world(): return "<p>Hello, World!</p>" @app.errorhandler(503) def under_maintenance(e): return render_template('503.html'), 503
Pour activer/désactiver le mode maintenance on utilise la CLI :
flask maintenance enable
flask maintenance disable
Lorsque le mode maintenance est actif un fichier under_maintenance est présent dans le dossier ./instance de l'application Flask. Toutes les requêtes sont interceptées et redirigées vers le contrôleurl d'l.
L'application Flask minimale et les fichiers corrigés de l'extension Flask-Maintenance