Projet

Général

Profil

Development #65447

Page de maintenance

Ajouté par Emmanuel Cazenave il y a presque 2 ans. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
19 mai 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

On a maintenant dans hobo un middleware qui permet d'afficher une page de maintenance, bientôt un écran de configuration pour piloter tout ça.

Il faudrait que wcs honore ces réglages relatifs à la page de maintenance.


Fichiers

Révisions associées

Révision f5539aa2 (diff)
Ajouté par Emmanuel Cazenave il y a plus d'un an

hobo deploy: handle maintenance related variables (#65447)

Révision 5a98f211 (diff)
Ajouté par Emmanuel Cazenave il y a plus d'un an

middleware: add a maintenance middleware (#65447)

Historique

#1

Mis à jour par Emmanuel Cazenave il y a presque 2 ans

  • Statut changé de Nouveau à En cours
#2

Mis à jour par Emmanuel Cazenave il y a presque 2 ans

0001 pour stocker dans site-options.cfg les variables relatives à la maintenance.

0002 le middleware pour la page de maintenance (inclusion moche du template de la page pour pouvoir faire des tests unitaires).

Ça fait de la duplication par rapport au middleware inclus dans hobo, ça pourrait être évité si wcs avait accès au hobo.json, j'ai failli me lancer là dedans sans plan précis et j'ai renoncé.

#3

Mis à jour par Frédéric Péters il y a presque 2 ans

            return TemplateResponse(
                request, 'hobo/maintenance/maintenance_page.html', context=context, status=503
            ).render()

Je préférerais ['hobo/maintenance/maintenance_page.html', 'wcs/maintenance_page.html'], et que dans le dépôt ça soit wcs/maintenance_page.html qui soit présent.

Sur la forme middleware j'imagine que ça a été fait ainsi dans hobo mais je préfère vraiment un vieux MiddlewareMixin, qui aurait juste

    def process_request(self, request):
       ...
       if maintenance page: return Response(...)

plutôt que ce code où on se demande ce qu'est le get_response et pourquoi le get_response global ne pourrait pas être utilisé (réponse : ça n'est pas du tout la même chose).

(oui MiddlewareMixin est tiré de django.utils.deprecation mais il me semble qu'upstream django il a bien été compris que cette ancienne forme était nettement préférée, et ça ne va pas être retiré).

#5

Mis à jour par Frédéric Péters il y a presque 2 ans

  • Statut changé de Solution proposée à Solution validée
#6

Mis à jour par Emmanuel Cazenave il y a plus d'un an

  • Statut changé de Solution validée à Résolu (à déployer)
commit 5a98f211bc9ceea976d91e9c19748b08921cc881
Author: Emmanuel Cazenave <ecazenave@entrouvert.com>
Date:   Wed Jun 8 16:12:13 2022 +0200

    middleware: add a maintenance middleware (#65447)

commit f5539aa24e9396e32dcd09bd9f0552c53d7b5636
Author: Emmanuel Cazenave <ecazenave@entrouvert.com>
Date:   Thu Jun 2 12:28:12 2022 +0200

    hobo deploy: handle maintenance related variables (#65447)
#7

Mis à jour par Transition automatique il y a plus d'un an

  • Statut changé de Résolu (à déployer) à Solution déployée
#8

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF