| Scroll Ignore | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
|
Configuration du module webui-module-service-weather
Les logs du cache
Le cache se constitue de trois composants :
- Le View Manager : C'est le composant qui va stocker en mémoire les Weathers pour un accès rapide aux données. Il va interroger le Data Hub pour savoir si sa données est à jour et la lui demander dans le cas contraire.
- Le Data Hub : Ce composant va garder une liste de météos dans un espace mémoire partagée. Les données sont accessibles par tous les modules du même groupe ( voir Configuration du module webui-module-service-weather ).
- Le Weather Updater : Ce composant va régulièrement interroger la base de données pour garder à jour les données dans le Data Hub pour les modules qui en ont besoin.
- Le Weather Controller : Ce composant va ordonnancer les Weather Updaters pour qu'ils se répartissent équitablement le nombre de Weathers à garder à jour.
Pour des informations plus approfondies sur le fonctionnement du cache, voir Fonctionnement du cache - Météo
| Anchor | ||||
|---|---|---|---|---|
|
ID_
NAMEDATAHUB ]
Le data hub est un composant du module webui-module-service-weather qui a pour rôle de stocker les données des objets Weathers dans un espace mémoire partagé /dev/shm pour aider le cache à accéder rapidement au données à jour en cas de besoin.
Les données stockées par ce composant sont mises à jour grâce au composant Weather Updater
Initialisation du Data Hub - Chapitre [ INIT ]
Au démarrage, le data hub va initialiser une liste de Weathers qu'il va stocker et mettre à disposition.
Initialisation du dossier
Lors de l'initialisation du composant, il va vérifier que le dossier dans lequel il va enregistrer les données des Weathers au format JSON.
Si le dossier n'existe pas, il va nous informer et le créer :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ INIT ] The data hub folder FOLDER_PATH does not exists. Will create it |
Lancement de l'initialisation
Nous sommes informés du début de l'initialisation avec ce log :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ INIT ] Starting initialization withcheck NB_WEATHERS Weathers |
Vérification des données
Lors de l'initialisation d'un Data Hub, on lui attribue un groupe, qui correspond à un ensemble de Weathers qu'il va stocker. Ce groupe est défini par le paramètre broker__module_webui__module_service_weather__cache__shared_data_group du module auquel il est rattaché.Avant l'attribution du groupe, le chapitre [ DATA HUB : GROUP_NAME ] ne présentera pas de nom de groupe et ressemblera à ça : [ DATA HUB ]vérifie si les données de chacun des éléments connus ne sont pas corrompues :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ INIT ] WillWeather nowwith manageuuid Weathers[ forWEATHER_UUID the] group "GROUP_NAME" |
Ajout d'un nouveau service de sauvegarde
successfully check |
Fin de l'initialisation
Nous sommes informés de la fin de l'initialisation et du temps prit avec ce log
Pour enregistrer des données, le Data Hub utilise ce qu'on appelle des services qui ont pour rôle de lire et d'écrire les Weathers que le Data Hub gère.
À son initialisation, le Data Hub démarre un service de sauvegarde des Weathers dans un espace de mémoire partagée, ainsi qu'un autre service de rétention qui va enregistrer dans un espace disque persistent ses Weathers :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ INIT ] ServiceCheck setdata :in Willhub register Weathersended in shared[ memoryELAPSED_TIME into a JSON format [YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUP_NAME ] [ INIT ] Retention enabled : Will save Weathers each [ RETENTION_TIME ] seconds in directory RETENTION_DIRECTORY |
Sauvegarde des premières Weathers
L'initialisation du Data Hub s'effectue avec une liste des premières Weathers à enregistrer. Pour chaque Weather, nous sommes avertis du succès de son enregistrement avec ce log :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUP_NAME ] [ INIT ] Weather with uuid [ WEATHER_UUID ] successfully initialized |
] seconds |
Récupération d'une Weather - Chapitre [ GET ]
Le data hub fourni des Weahters qu'il garde à jour grâce à leur ID à condition qu'elles soient enregistrées.
Cas normal
La récupération d'une Weather nous est remontée dans les logs avec l'UUID de la Weather récupérée et le temps écoulé lors de la collecte dans le Data Hub
Fin de l'initialisation
Nous sommes informés de la fin de l'initialisation et du temps prit avec ce log :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFODEBUG : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ INITGET ] InitialisationWeather endedwith inuuid [ ELAPSEDWEATHER_TIME ] seconds |
Récupération d'une Weather - Chapitre [ GET ]
Le data hub fourni des Weahters qu'il garde à jour grâce à leur ID à condition qu'elles soient enregistrées.
Cas normal
UUID ] retrieved in [ ELAPSED_TIME ] seconds |
Cas d'erreurs
Le Data Hub n'est pas initialisé
Quand on demande une Weather alors que le Data Hub n'est pas initialisé, ce log est retourné. La demande a été effectuée trop tôt, il faut alors attendre un peu avant de réessayer.La récupération d'une Weather nous est remontée dans les logs avec l'UUID de la Weather récupérée et le temps écoulé lors de la collecte dans le Data Hub :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFOERROR : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ GET ] Cannot get the Weather with uuid [ WEATHER_UUID ] retrieved in [ ELAPSED_TIME ] seconds |
Cas d'erreurs
Le Data Hub n'est pas initialisé
because the Data Hub is not initialized, please retry later |
La Weather n'existe pas
Dans le cas où l'on demande une Weather qui n'est pas dans le Data Hub, cela signifie qu'il y a probablement une erreur dans l'URL utilisée pour l'affichée :Quand on demande une Weather alors que le Data Hub n'est pas initialisé, ce log est retourné. La demande a été effectuée trop tôt, il faut alors attendre un peu avant de réessayer.
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ GET ] CannotThe get the Weather with uuid [ WEATHER_UUID ] because the Data Hub iswas not initialized, please retry later |
La Weather n'existe pas
found in the Data Hub |
Le fichier est corrompu
Si on n'arrive pas à lire le fichier contenant les données de la Weather pour un soucis de format ( si par exemple le fichier est corrompu ) un log nous averti du problème et le Data Hub va tenter de réécrire le fichier avec des données sainesDans le cas où l'on demande une Weather qui n'est pas dans le Data Hub, cela signifie qu'il y a probablement une erreur dans l'URL utilisée pour l'affichée :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFOERROR : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ GET ] Cannot get the[ SHARED MEMORY ] The Weather with uuid [ WEATHER_UUID ] could becausenot itbe isretrieved notbecause storedits indata Data Hub |
Le fichier est corrompu
is corrupted |
Enregistrement d'une Weather - Chapitre [ SAVE ]
Il est possible d'enregistrer une nouvelle Weather ou une nouvelle version d'une Weather pour le garder à jour dans le data hub
Cas normal
Succès de l'enregistrement
Lors de l'enregistrement d'une Weather avec succès, un logs nous préviens du temps que ça a pris :Si on n'arrive pas à lire le fichier contenant les données de la Weather pour un soucis de format ( si par exemple le fichier est corrompu ) un log nous averti du problème et le Data Hub va tenter de réécrire le fichier avec des données saines
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] ERRORDEBUG : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ GETSAVE ] [ SHARED MEMORY ] The Weather with uuid [ WEATHER_UUID ] couldsaved notin be retrieved because its file is corrupted |
Enregistrement d'une Weather - Chapitre [ SAVE ]
Il est possible d'enregistrer une nouvelle Weather ou une nouvelle version d'une Weather pour le garder à jour dans le data hub
Cas normal
Succès de l'enregistrement
[ ELAPSED_TIME ] seconds |
Cas d'erreur
Data Hub non initialisé
Si on essaye d'enregistrer une Weather alors que le Data Hub n'est pas initialisé, ce cas signifie que la requête a été effectuée trop tôt et il faut alors attendre un peu puis réessayer Lors de l'enregistrement d'une Weather avec succès, un logs nous préviens du temps que ça a pris :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ SAVE ] Cannot save the Weather with uuid [ WEATHER_UUID ] saved in [ ELAPSED_TIME ] seconds because the Data Hub is not initialized yet, please retry later |
Récupération de la date de la dernière modification - Chapitre [ GET LAST MODIF ]
Il est possible de demander au Data Hub la date de dernière modification d'une Weather, certaines erreurs peuvent apparaître lors de cette récupération
Cas d'
erreurerreurs
Data Hub non initialisé
Si on essaye d'enregistrer une Weather alors que le Data Hub n'est pas initialisé, ce cas signifie que la requête a été effectuée trop tôt et il faut alors attendre un peu puis réessayer alors ce log apparait :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFOERROR : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ GET SAVELAST MODIF ] Cannot saveget the last modification time of Weather with uuid [ WEATHER_UUID ] because the Datadata Hubhub is not initialized yet, please retry later |
Récupération de la date de la dernière modification - Chapitre [ GET LAST MODIF ]
Il est possible de demander au Data Hub la date de dernière modification d'une Weather, certaines erreurs peuvent apparaître lors de cette récupération
Cas d'erreurs
Data Hub non initialisé
La Weather n'est pas enregistrée
Si la Weather n'est pas enregistrée dans le Data Hub, alors ce log est lancé Si le Data Hub n'est pas initialisé, alors ce log apparait :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFOERROR : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ GET LAST MODIF ] Cannot get the last modification time of The Weather with uuid [ WEATHER_UUID ] becausewas thenot datafound hubin isthe not initialized, please retry later |
La Weather n'est pas enregistrée
Data Hub |
Retrait d'une Weather - Chapitre [ REMOVE ]
Cas normal
La Weather dont on demande la suppression a été correctement retirée du Data Hub Si la Weather n'est pas enregistrée dans le Data Hub, alors ce log est lancé :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFODEBUG : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ GET LAST MODIFREMOVE ] Cannot get the last modification time of The Weather with uuid [ WEATHER_UUID ] becausehas it is not stored in Data Hub |
Retrait d'une Weather - Chapitre [ REMOVE ]
Cas normal
been removed |
Cas d'erreur
Le Data Hub n'est pas initialisé
Si lors de la suppression de la Weather le Data Hub n'est pas encore initialisé, alors on a le log suivant La Weather dont on demande la suppression a été correctement retirée du Data Hub :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFOERROR : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ REMOVE ] TheCannot remove the Weather with uuid [ WEATHER_UUID ] has been removed |
Cas d'erreur
Le Data Hub n'est pas initialisé
because the Data Hub is not initialized yet, please retry later |
Retention du Data Hub - Chapitre [ RETENTION ]
Régulièrement, le data hub va effectuer une rétention des données qu'il garde.
Succès de la rétention
Si lors de la suppression de la Weather le Data Hub n'est pas encore initialisé, alors on a le log suivant :| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] WARNING: [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ REMOVERETENTION ] Cannot remove the Weather with uuid [ WEATHER_UUID ] because the Data Hub is not initialized yet, please retry later |
Retention du Data Hub - Chapitre [ RETENTION ]
Régulièrement, le data hub va effectuer une rétention des données qu'il garde.
Retention done in [ ELAPSED_TIME ] seconds for NB_WEATHER_SAVED Weathers |
Cas récurrents
Ces logs peuvent survenir dans de nombreux cas différents. (chaque sauvegarde, sauvegarde de rétention, récupération de Weather, etc)
Le fichier n'existe pas
Succès de la rétention| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] DEBUG WARNING : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ RETENTION ] Retention done in [ INIT ] The path does not exist [ ELAPSEDFILE_TIMEPATH ] secondswas it for NB_WEATHER_SAVED Weathersmove ? |
| Note |
|---|
Ceci n'est pas considéré comme une erreur, car le fait que le fichier n'existe pas n'empêche pas le module de fonctionner, celui-ci le créera par la suite. |
Cas d'erreurs
Pour chaque sauvegarde, sauvegarde de rétention, récupération de Weather et récupération de date de modification d'une Weather, le Data Hub va interagir avec le système de fichiers, ce qui peut amener les erreurs suivantes :
Le fichier n'existe pas
| theme | Emacs |
|---|
qui peut amener les erreurs suivantes :
Pas de droits de lecture
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] ERROR : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ SHAREDRETENTION MEMORY ] [ READ ] No read access [ FILE_PATH ] |
Pas de droits d'écriture
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] ERROR : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ SHAREDRETENTION MEMORY ] [ READ ] No write access [ FILE_PATH ] |
| Anchor | ||||
|---|---|---|---|---|
|
Le Weather Updater est un composant qui va est chargé de deux choses :
- Initialiser le Data Hub
- Recalcule les Weathers pour garder à jour les données dans le Data Hub
Chaque Webui possède un unique Weather Writer qui va être chargé de maintenir à jour une liste des Weathers qui sont distribuées équitablement entre les Webui pour équilibrer la charge entre elles.
La tâche de distribution des Weathers ( ou élection des WebUI ) est faite par un autre copmosant, le Weather Controller ( voir Weather Controller ).
Les Writers vont ensuite régulièrement ( toutes les minutes ) tenir à jour les informations des Data Hub des weathers qui leur sont attribuées.
Initialisation - Chapitre [ INIT ]
Lancement du thread du WEATHER UPDATER
Une fois toutes ces étapes terminées, il ne reste plus qu'à lancer un Thread qui va tourner régulièrement pour maintenir à jour dans le Data Hub les Weathers qui lui sont attribuées.
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ WEATHER UPDATER : GROUP_NAME ] [ INIT ] Starting to refresh [ WEATHER_COUNT ] Weathers each [ REFRESH_RATE ] seconds |
Rafraichissement des données - Chapitre [ REFRESH ]
Au lancement du rafraichissement, un log nous informe des Weathers dont on va recalculer les données pour les enregistrer dans le Data Hub :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ WEATHER UPDATER : GROUP_NAME ] [ REFRESH ] Refresh done : updated [ NB_WEATHERS ] Weathers in [ ELAPSED_TIME ] seconds |
Création d'une nouvelle Weather - Chapitre [ SAVE ]
Le WEATHER UPDATER peut aussi avoir la nécessitée de créer des Weathers si elles n'existent pas pour pouvoir les enregistrer en même temps dans le base de données et dans le data hub.
Création de la Weather
Dans le cas où la Weather n'existe pas, le Writer va initialiser l'objet pour l'enregistrer dans la base de données et dans le data hub :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ WEATHER UPDATER : GROUP_NAME ] [ SAVE ] New Weather [ WEATHER_UUID ] added in Data Hub and Database |
| Anchor | ||||
|---|---|---|---|---|
|
Le Weather Controller est un composant utilisé par les WEATHER UPDATERs obtenir la liste des Weathers qu'il doit maintenir à jour
Ce composant se repose sur un fichier partagé entre les WebUI où l'on trouve les informations suivantes :
- Les Weathers qu'elle est chargée de mettre à jour
- La date de sa dernière passe dans le fichier.
Ces informations permettent de répartir équitablement les Weathers entre les différentes WebUI, et de savoir quand une WebUI n'a pas écrit depuis trop longtemps. Dans ce cas, il peut être décidé de sortir la WebUI du fichier et de redistribuer ses Weathers si elle en a.
La redistribution ( ou élection ) est faite de sorte qu’il n'y ait pas de Weathers sans WebUI, et qu'elles soient réparties entre chaque WebUI équitablement pour redistribuer la charge de calcul du rafraichissement des données des Weathers. Il peut donc y avoir des WebUI sans Weathers ( s'il y a plus de Weathers que de WebUI ) mais pas l'inverse.
Afin de ne pas se retrouver avec des Weathers sans WebUI, une élection est demandée à chaque changement du nombre de WebUI inscrites :
- Une nouvelle WebUI est démarrée.
- Une WebUI a été détectée comme inactive, et donc ses Weathers seront redistribuées.
Enregistrement d'une nouvelle WebUI ( démarrage du composant )
Au démarrage de la WebUI, on va aller l'enregistrer :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ WEATHER UPDATER : GROUP_NAME ] [ WEATHER CONTROLLER ] Registering the WebUI [ WEBUI_NAME ] |
La WebUI n'est pas dans le fichier et c'est la première
Si la WebUI n'est pas déjà enregistrer, et qu'il n'y a pas d'autre WebUI déjà présentes, alors pas besoin de lancer d'élection pour le moment, on attribue toutes les Weathers existantes à cette première arrivante :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ WEATHER UPDATER : GROUP_NAME ] [ WEATHER CONTROLLER ] The Webui [ WEBUI_NAME ] will now keep up to date these Weathers: WEATHER_ID1, WEATHER_ID2 ... |
Réélection des WebUI
Demande de réélection
Au besoin, une réélection peut être demandée. Les cas possibles sont les suivants :
- On ajoute une nouvelle WebUI
- On supprime une WebUI qui gérait des Weathers
- Une WebUI se rend compte qu'elle n'est plus dans le Weather Controller, alors elle s'ajout à nouveau
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ WEATHER UPDATER : GROUP_NAME ] [ WEATHER CONTROLLER ] A WebUI reelection has been requested. Will equally redistribute all Weathers between these WebUI: WEBUI_00, WEBUI_01 ... |
Fin de la réélection
Une fois la réélection terminée, un log nous informe du temps que ça a pris ainsi que des résultats, c’est-à-dire quelle WebUI va gérer telles Weathers :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ WEATHER UPDATER : GROUP_NAME ] [ WEATHER CONTROLLER ] WebUI reelection done in [ ELAPSED_TIME ] seconds [YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ WEATHER UPDATER : GROUP_NAME ] [ WEATHER CONTROLLER ] The WebUI [ WEBUI_01 ] will now periodically refresh the following Weathers: WEATHER_01 [YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ WEATHER UPDATER : GROUP_NAME ] [ WEATHER CONTROLLER ] The WebUI [ WEBUI_02 ] will now periodically refresh the following Weathers: WEATHER_02 [YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ WEATHER UPDATER : GROUP_NAME ] [ WEATHER CONTROLLER ] The WebUI [ WEBUI_03 ] does not have to manage any Weather |
Recherche des WebUI inactives
Lors de leur rafraichissement régulier des Weathers, les Writers vont demander la recherche des WebUI inactives ( si elles n'ont pas modifié leur Weathers depuis plus de 5 minutes ), si elles les trouvent elles vont être retirées du Weather Controller, et si elles ont des Weathers attribuées, une réélection va être demandée.
Une WebUI inactive détectée
Si une WebUI inactive est trouvée, nous sommes au courant de pourquoi elle va être retirée.
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] WARNING: [ WEBUI_NAME ] [ webui-module-service-weather ] [ WEATHER UPDATER : GROUP_NAME ] [ WEATHER CONTROLLER ] The WebUI [ WEBUI_NAME ] was inactive for 5 minutes. It will be remove Weather Updaters pool |
Fin de la recherche
Quand la recherche est terminée, nous sommes prévenus de sa fin et du temps écoulé, et un court résumé est affiché :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ WEATHER UPDATER : GROUP_NAME ] [ WEATHER CONTROLLER ] Synchronization file cleaning finished in [ ELAPSED_TIME ] seconds [YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ WEATHER UPDATER : GROUP_NAME ] [ WEATHER CONTROLLER ] We found and removed X WebUI inactive for more than Y minutes |
Rafraichissement de date de dernière modification d'une WebUI
Lorsque la WebUI modifie une donnée dans le Data Hub, elle demande de mettre à jour la date de dernière modification par le Weather Controller :
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ WEBUI_NAME ] [ webui-module-service-weather ] [ WEATHER UPDATER : GROUP_NAME ] [ WEATHER CONTROLLER ] Refreshing WebUI [ WEBUI_NAME ] last update date |
Si la WebUI n'est plus dans le Weather Controller à ce moment ( si par exemple elle a été jugée inactive par une autre WebUI ) elle va se réinscrire et demander une réélection
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] WARNING: [ WEBUI_NAME ] [ webui-module-service-weather ] [ WEATHER UPDATER : GROUP_NAME ] [ WEATHER CONTROLLER ] My WebUI has been removed, re-registering it and asking for a reelection |
Cas d'erreurs
Chargement d'un fichier corrompu à l'initialisation
S'il est impossible de charger le fichier lors de l'initialisation parce qu'il semble corrompu ( impossible de charger le JSON ), le fichier est réinitialisé
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] WARNING: [ WEBUI_NAME ] [ webui-module-service-weather ] [ WEATHER UPDATER : GROUP_NAME ] [ WEATHER CONTROLLER ] Cannot load data because its corrupted. Reinitializing it |