Wiki source code of Service de maintenance Automatique
Last modified by Aurelie Bertrand on 2025/02/25 15:23
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{ddtoc/}} | ||
2 | |||
3 | ---- | ||
4 | |||
5 | DigDash Enterprise fournit un service de maintenance composé : | ||
6 | |||
7 | * D’un nettoyeur de fichiers (connu aussi en tant que Files GC) nettoyant l'ensemble des fichiers inutilisés : vieux fichiers de l'historique, cubes et autres fichiers dépendant des flux. | ||
8 | * D’une sauvegarde automatique de la configuration | ||
9 | |||
10 | = Nettoyeur de fichiers = | ||
11 | |||
12 | Le nettoyeur nettoie les fichiers non utilisés par les portefeuilles des utilisateurs et des rôles. | ||
13 | |||
14 | Le nettoyage parcourt les index de tous les utilisateurs, ainsi que le disque, afin de trouver les fichiers qui ne sont plus liés aux index. Les fichiers identifiés sont supprimés. Les fichiers effacés sont les suivants : fichiers de cubes (.dcg), fichiers js des cubes (cube_data_id.js), modèles (cube_dm_id.js) et flux (cube_view_id_js). | ||
15 | |||
16 | Cette opération présente l'avantage de libérer de l'espace disque et potentiellement d'accélérer les recherches de fichiers js, qui peuvent devenir non négligeables sur des volumétries importantes (nombre de cubes personnels * nb historiques > 100000) | ||
17 | |||
18 | Selon l'âge du serveur et la volumétrie des fichiers concernés (nombre de rafraîchissements effectués...), l'opération peut prendre beaucoup de temps lors de sa première exécution (sur certains déploiements comportant beaucoup d'utilisateurs et beaucoup de cubes personnalisés, une à deux heures). | ||
19 | |||
20 | Ensuite, si le nettoyage est fait de manière régulière, le temps d'exécution sera moins long. Ce temps dépend énormément de la performance du système de fichiers et de la machine, ce qui le rend difficilement estimable. | ||
21 | |||
22 | = Sauvegarde automatique = | ||
23 | |||
24 | La sauvegarde automatique est effectuée avant le nettoyage des fichiers. Le fichier généré est copié dans le Répertoire de travail (AppData). **<digdash.appdata>/Enterprise Server/<domaine>/backups/<date du jour>.zip** | ||
25 | |||
26 | Par défaut, la maintenance se fait tous les jours à minuit. | ||
27 | |||
28 | (% class="box errormessage" %) | ||
29 | ((( | ||
30 | **Important :** | ||
31 | |||
32 | Par défaut le service de maintenance ne se lance que si aucune session utilisateur n'est active à ce moment. De plus, pendant son fonctionnement aucun utilisateur ne peut se connecter à DigDash Enterprise. Attention donc à bien le programmer pour qu'il n'interfère pas avec l'utilisation normale de DigDash Enterprise par les utilisateurs, ni par l'ordonnanceur. Selon les cas nous conseillons de programmer le service de maintenance la nuit, et à des plages horaires différentes des plages de l'ordonnanceur. | ||
33 | ))) | ||
34 | |||
35 | = Activation, désactivation et/ou nettoyage au démarrage = | ||
36 | |||
37 | Ce paragraphe décrit comment activer et programmer le service de maintenance. | ||
38 | L'activation du nettoyeur de fichiers peut se faire de deux manières : | ||
39 | |||
40 | == Depuis la page état du serveur == | ||
41 | |||
42 | La page **Etat du serveur** est accessible depuis la page d'accueil de DigDash Enterprise puis en cliquant successivement sur les boutons **Configuration **et **Etat du serveur**. | ||
43 | |||
44 | Dans la rubrique **Etat du nettoyeur de fichiers**, cliquez sur la flèche bleue figurant à côté de **Service de maintenance démarré** pour démarrer le nettoyeur : | ||
45 | |||
46 | [[image:Maintenance_service_FR.png||alt="Service maintenance"]] | ||
47 | |||
48 | Dans cet exemple, le prochain nettoyage aura lieu à minuit. C'est l'heure de nettoyage par défaut si aucune n'est définie dans **system.xml**, par le paramètre **FILESGC_SCHEDXML**. Consultez le paragraphe [[Programmation et options de la maintenance automatique>>doc:||anchor="Options_auto"]] pour plus de détails sur la programmation du nettoyeur. | ||
49 | Pour démarrer le nettoyeur de fichiers immédiatement, cliquez sur l’icône [[image:1700040675471-344.png]]. | ||
50 | |||
51 | Cette activation du service de maintenance a un comportement spécifique équivalent à l'évènement interne //FORCE_FILESMAINTENANCE : //il est demandé au nettoyeur de fichier de démarrer une opération de nettoyage. Toutes les sessions courantes sont fermées. Le gestionnaire de sessions et l'ordonnanceur sont arrêtés et redémarrés une fois l'opération terminée. | ||
52 | |||
53 | == Depuis le fichier digdash.properties == | ||
54 | |||
55 | Fichier modifié : **digdash.properties** | ||
56 | Voir le chapitre "[[Externalisation des paramètres dans un fichier properties>>doc:Digdash.deployment.configuration.advanced_system_guide.other_advanced_parameters.WebHome||anchor="externalisation"]]" pour effectuer cette manipulation. | ||
57 | |||
58 | Active ou non le module Files GC et/ou lance le nettoyage au démarrage du serveur. | ||
59 | |||
60 | (% class="box infomessage" %) | ||
61 | ((( | ||
62 | ℹ Les tâches en cours (tâches planifiées) entraîneront l'annulation du service de maintenance. Une nouvelle tentative sera effectuée 1h plus tard. Au bout de 5 tentatives en échec, le service ne passera plus (5 nouvelles tentatives maximum) et sera reporté à la prochaine date de maintenance planifiée. | ||
63 | ))) | ||
64 | |||
65 | Paramètres disponibles : | ||
66 | |||
67 | * //Nom// : **ddenterpriseapi.startCleaner** | ||
68 | //Valeur// : booléen (défaut : false) | ||
69 | //Description// : | ||
70 | ** true : nettoyage automatique des fichiers programmé. | ||
71 | //Note: l'heure du nettoyage est définie dans **system.xml**, par le paramètre **FILESGC_SCHEDXML**. | ||
72 | L'heure de nettoyage par défaut (si aucune n'est spécifiée dans system.xml, FILESGC_SCHEDXML) est tous les jours à 0:00// | ||
73 | ** false (défaut) : pas d'utilisation du nettoyeur de fichiers | ||
74 | * //Nom// : **ddenterpriseapi.cleanOnStart** | ||
75 | //Valeur// : booléen (défaut : false) | ||
76 | //Description// : | ||
77 | ** true : nettoie les fichiers inutilisés au démarrage du serveur (fichiers de l'historique, cubes, fichiers résultats,...) | ||
78 | ** false (défaut) : ne nettoie pas les fichiers inutilisés au démarrage du serveur | ||
79 | * //Nom// : **ddenterpriseapi.autoBackup** | ||
80 | //Valeur// : booléen (défaut : false) | ||
81 | //Description// : | ||
82 | ** ***. true : active la sauvegarde automatique programmée** | ||
83 | ** false (défaut) : n’active pas la sauvegarde automatique programmée | ||
84 | |||
85 | (% class="box warningmessage" %) | ||
86 | ((( | ||
87 | Dans le fichier **digdash.properties**, tous les paramètres sont préfixés du nom de l'application concernée. | ||
88 | Ici par défaut il s'agit de ddenterpriseapi (ddenterpriseapi.war). | ||
89 | Si vous avez renommé cette application, par exemple en **ddapi_dev.war**, les paramètres deviennent **ddapi_dev.startCleaner**, **ddapi_dev.cleanOnStart, ...** | ||
90 | ))) | ||
91 | |||
92 | = Programmation et options de la maintenance automatique{{id name="Options_auto"/}} = | ||
93 | |||
94 | Fichier modifié : **system.xml**. | ||
95 | |||
96 | Les paramètres disponibles sont listés ci-dessous. | ||
97 | |||
98 | (% class="wikigeneratedid" id="HFILESGC_SCHEDXML" %) | ||
99 | **FILESGC_SCHEDXML** | ||
100 | |||
101 | //Valeur// : phrase XML (encodée) (défaut : aucune) | ||
102 | //Description// : Ce paramètre contient une phrase XML //encodée// décrivant la fréquence de programmation. | ||
103 | |||
104 | Exemple : | ||
105 | |||
106 | {{code cssClass="notranslate" language="xml"}} | ||
107 | <Property key="FILESGC_SCHEDXML" | ||
108 | value="<Schedule frequency="daily" | ||
109 | fromDay="11" fromHour="0" | ||
110 | fromMinute="0" fromMonth="7" | ||
111 | fromYear="2021" periods="1" | ||
112 | time="0:0"/>"></Property> | ||
113 | {{/code}} | ||
114 | |||
115 | Les attributs sont les suivants : | ||
116 | |||
117 | * **frequency **: **hourly**, **daily, weekly **ou **monthly**. | ||
118 | * **fromDay**, **fromHour**, **fromMinute, fromMonth**, **fromYear** : date de démarrage (❗//fromMonth// commence à 0 pour janvier). En général, il faut mettre une date dans le passé. | ||
119 | * **periods **:** **nombre d'heures, jours ou mois (selon la fréquence choisie) entre 2 nettoyages. | ||
120 | * **time** (heure du nettoyage pour les fréquences daily, weekly et monthly. | ||
121 | |||
122 | L'exemple ci-dessus signifie ainsi tous les jours (frequency="daily" et periods="1") à 0:00 (time="0:0"). | ||
123 | |||
124 | Pour une fréquence hebdomadaire (weekly), on aura un attribut supplémentaire **weekDays** avec les valeurs suivantes (à additionner pour un déclenchement plusieurs jours de la semaine. Par exemple, lundi et mercredi : 2 + 8 = 10) : | ||
125 | |||
126 | * dimanche : 1 | ||
127 | * lundi : 2 | ||
128 | * mardi : 4 | ||
129 | * mercredi : 8 | ||
130 | * jeudi : 16 | ||
131 | * vendredi : 32 | ||
132 | * samedi : 64 | ||
133 | |||
134 | Par exemple, pour une programmation toutes les 2 semaines, le lundi et le jeudi, à 18:00, à partir du 1er janvier 2025 00:00, la propriété aura la valeur suivante : | ||
135 | |||
136 | {{code language="xml"}} | ||
137 | <Property key="FILESGC_SCHEDXML" | ||
138 | value="<Schedule frequency="weekly" | ||
139 | fromDay="1" fromHour="0" | ||
140 | fromMinute="0" fromMonth="0" | ||
141 | fromYear="2025" periods="2" | ||
142 | time="0:0" weekDays="18"/>"> | ||
143 | </Property> | ||
144 | {{/code}} | ||
145 | |||
146 | **FILESGC_SESSIONSCHECK** | ||
147 | |||
148 | //Valeur// : true/false (booléen) (défaut : aucune, équivaut à true) | ||
149 | //Description// : Ce paramètre indique si le nettoyeur de fichiers doit vérifier les sessions actives avant de se lancer (true), ou s'il se lance qu'elle que soit l'état des sessions actives (false). Dans ce dernier cas, toutes les sessions seront déconnectées instantanément. | ||
150 | |||
151 | Exemple : | ||
152 | |||
153 | {{code language="xml" cssClass="notranslate"}} | ||
154 | <Property key="FILESGC_SESSIONSCHECK" value="false"></Property> | ||
155 | {{/code}} | ||
156 | |||
157 | **USEAUTOBACKUP** | ||
158 | |||
159 | //Valeur// : true/false (booléen) (défaut : aucune, équivaut à false) | ||
160 | //Description// : Ce paramètre indique si le service de maintenance effectue aussi une sauvegarde complète de la configuration avant d’exécuter le nettoyage des fichiers. | ||
161 | |||
162 | **PROP_FILESGC_MIN_FILE_AGE** | ||
163 | |||
164 | //Valeur// : nombre (minutes) (défaut : 0) | ||
165 | //Description// : Ce paramètre indique l'age minimum en minutes qu'un fichier doit avoir pour être effacé (s'il doit être effacé). Si le fichier est plus récent que cette valeur alors il ne sera pas effacé. | ||
166 | |||
167 | **PROP_FILESGC_FASTMODE** | ||
168 | |||
169 | //Valeur// : true/false (booléen) (défaut : aucune, équivaut à false) | ||
170 | //Description// : Ce paramètre indique si le service de maintenance doit ouvrir une session pour chaque utilisateur du système (false, le cas normal) ou s'il peut s'en passer (true). S'il est activé, alors le scan des fichiers à nettoyer est plus rapide mais au risque de ne pas effacer certains fichiers, par exemple ceux des flux et modèles qui ont été supprimés mais qui ont encore des données sur le disque. | ||
171 | |||
172 | **PROP_FILESGC_MAXTIME** | ||
173 | |||
174 | //Valeur// : nombre (minutes) (défaut : -1, équivaut à aucune limite) | ||
175 | //Description// : Ce paramètre indique le temps maximum dédié au nettoyage des fichiers. Si le temps est dépassé, alors le nettoyage des fichiers est interrompu et il restera des fichiers à nettoyer pour la fois suivante. //Attention : si ce temps est déraisonnablement court, le nettoyeur peut ne rien faire. Cette valeur est très dépendante de la configuration de Digdash et doit être réglée en fonction des temps de nettoyage complet constatés en moyenne.// |