Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Make by tools (01.00.01) - action=clean_macro_parameter
Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbookhtmltruefalse
scroll-eclipsehelpdocbooktrue
scroll-epubeclipsehelptrue
scroll-htmlepubtrue
Panel
titleSommaire

Table of Contents
stylenone

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
dataHub
dataHub
Le Data Hub - Chapitre [ DATA HUB :

GROUP

ID_

NAME

DATAHUB ]

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
themeEmacs
[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
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ WEBUI_NAME      ] [ webui-module-service-weather ] [ DATA HUB : GROUPID_NAMEDATAHUB ] [ INIT ] Starting initialization withcheck NB_WEATHERS Weathers
Attribution d'un groupe au Data Hub

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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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'

erreur

erreurs

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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR : [ WEBUI_NAME ] [ webui-module-service-weather ] [ DATA HUB : GROUP_NAME ] [ SHARED MEMORY ] [ INIT ] The path does not exist [ FILE_PATH ] was it move ?

qui peut amener les erreurs suivantes :

Pas de droits de lecture

Code Block
themeEmacs
[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
themeEmacs
[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
weatherUpdater
weatherUpdater
Le Weather Updater - Chapitre [ WEATHER UPDATER : GROUP_NAME ]

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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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
weatherController
weatherController
Le Weather Controller - Chapitre [ WEATHER CONTROLLER ]

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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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
themeEmacs
[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