[guetdartois] Procédure en cas de correction de liste

[ Thread Index | Date Index | More lists.tuxfamily.org/guetdartois Archives ]


Bonjour, 

La procédure décrite ci-dessous est un premier jet pour les corrections de listes. Celle pourra être un peu revue, puis ajoutée dans le manuel sous la section administrateurs. 

Procédure pour la correction de liste
Il est parfois nécessaire de devoir corriger les listes entrées, dans le cas où celle-ci était incorrect, ou si un problème s'est produit durant le processus de traitement. Cette correction nécessite souvent le fait de reprendre une ancienne version de la base de données pour entrer la liste correctement, afin de corriger l'entrée. Le fait de devoir considérer une base de données ayant eu une liste erronée comme corrompue provient du fait que l'outil de surveillance se base sur la compression des données par la suppression de celles qui sont considérées comme inutiles. Ceci implique qu'une base de données avec liste erronée ne peut plus être ramenées dans un état correct. 

Récupération des données
Le cas le plus idéal correspond à avoir eu une erreur dans la journée précédente. En effet, les serveurs font fréquemment des sauvegardes, et il est souvent possible de récupérer les données de la journée précédente facilement. Autrement, il est conseillé de faire fréquemment des sauvegardes, afin de pouvoir retrouver un set de données pas trop lointain de celui qui doit être corrigé. 

Correction
Dans le cas où une correction est nécessaire, l'idéal est d'avoir accès à un autre serveur identique à celui employé en production, afin de pouvoir y générer les données nécessaires, pour les transférer ensuite sur le serveur de production. La procédure ci-dessous considère en premier lieu ce cas.

Correction avec serveur d'appoint
Dans ce cas, il est possible de faire toutes les opérations critiques sur le serveur d'appoint, et transférer ensuite les données sur le serveur principal. Dans ce cas, les opérations à suivre sont:
1. Importer la base de données sauvegardées sur le serveur d'appoint. 
2. Dans le cas où la base de données est plus ancienne que le jour précédent, entrer à nouveau les listes de villages du village concerné par l'erreur jusqu'au jour précédent. Dans l'idéal, entrer les rapports de maréchaux est un plus. Dans le cas où des personnes inconnues apparaissent, entrer les données correspondant à celles du serveur principal pour éviter les conflits.
Faire une sauvegarde de la base de données prête pour l'entrée de la liste problématique. 
3. Entrer la liste qui a posé problème. Dans le cas où il existe aussi une liste de maréchaux (ou une liste de village si la liste problématique était les maréchaux), entrer aussi la deuxième liste. 
4. Si un problème arrive aussi dans ce cas, débugger le programme ou corriger la liste manuellement pour permettre un traitement des données sans bugs.
5. Exporter les données nécessaires du serveur d'appoint. Il s'agit des tables des habitants ($village_habitants) et la liste des mouvements ($village_mouvements) du village concerné, ainsi que des étrangers ($comte_presence) vu dans ce village ce jour (il devrait s'agir des dernières entrées). 
6. Passer l'outil en maintenance depuis l'interface administrateur, pour éviter d'éventuels conflits avec des entrées d'utilisateur. Attendre environ 5 minutes pour garantir que les processus d'entrée éventuels sont terminés. 
7. Importer les nouvelles tables de village en remplacement dans la base de données de production ($village_habitants et $village_mouvements). 
8. Effacer les étrangers dans la table $comte_presence concernés par la corruption, et ajouter celles de remplacement. 
9. Supprimer le mode maintenance. 

Correction directement sur le serveur de production
Cette méthode est plus directe, mais passablement plus risquée. Elle à éviter dans les cas où un bug pourrait arriver, ou si la liste de remplacement et plus ancienne qu'un jour. 
1. Passer l'outil en maintenance depuis l'interface administrateur, pour éviter d'éventuels conflits avec des entrées d'utilisateur. Attendre environ 5 minutes pour garantir que les processus d'entrée éventuels sont terminés. 
2. Faire une sauvegarde de la base de données. 
3. Remplacer les liste $village_habitants et $village_mouvements concernés par la corruption par celles du jour d'avant. 
4. Effacer les présences d'étrangers du village concernés dans $comte_presences. 
5. Supprimer le mode maintenance. 
6. Entrer la liste du village et éventuellement la liste de vision des maréchaux correctes depuis l'interface. 

Ces procédures fournissent une correction satisfaisante, mais pas forcément identiques à la base de données originale, en raison de dépendance croisées avec les entrées des autres villages. Néanmoins, ces différences sont normalement négligeables et n'ont pas d'incidence sur l'utilisation de l'outil pour les jours qui suivent. 


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/