Programmer les rafraîchissements

Last modified by Aurelie Bertrand on 2024/03/27 15:52

DigDash Enterprise permet de déclencher le rafraîchissement automatique de vos données. Pour fonctionner, l'ordonnanceur doit être démarré et l'utilisateur de l'ordonnanceur doit être renseigné (l'initialisation doit être faite depuis la page « Configuration des serveurs »)

La programmation des rafraîchissements peut être faite à trois niveaux :

  • Portefeuille d'information,
  • Flux d'information,
  • Modèle de données.

Rafraîchissement automatique (calendaire)

Dans un premier temps, le serveur détermine si les flux doivent être rafraîchis (en fonction de leur date de programmation). Si le flux doit être rafraîchi, l'ordonnanceur détermine si le modèle de données sous-jacent doit l'être également (en fonction de sa date de programmation).

Si ce modèle utilise d'autres modèles de données (jointure, union, transformation,...), ceux-ci sont également rafraîchis si besoin (en fonction également de leur date de programmation).

Note : Le rafraîchissement d'un modèle de données n'intervient que lors du rafraîchissement d'un flux. Il n'y a pas de rafraîchissement d'un modèle de données si aucun flux ne l'utilise directement ou indirectement. Il faut voir la date de programmation d'une source de données comme une date de validité.

Exemple de programmation : deux flux de données « données fin de mois» et « données journalières » utilisent le même modèle de données. Ce modèle de données est rafraîchi tous les jours. Le premier flux « données fin de mois » est rafraîchi tous les mois et le second « données journalières », tous les jours.

Par défaut, le portefeuille est rafraîchi tous les jours à 20h et les flux de données sont rafraîchis avec le portefeuille. Lorsqu'on crée un modèle de données, une programmation par défaut est également défini (tous les jours à 20h comme le portefeuille).

On peut ajouter ou modifier les programmations existantes.

Pour accéder aux programmations du portefeuille ou du flux d'information, faites un clic droit sur le portefeuille ou le flux, puis dans le panneau de paramètres, ouvrez l'onglet Programmation. Si vous souhaitez programmer un flux à un horaire différent du portefeuille, décochez au préalable Avec le portefeuille.

Pour accéder aux programmations des modèles de données, dans la boîte de Configuration avancée de la source de données, ouvrez l'onglet Rafraîchissement.

Pour ajouter une programmation, cliquez sur Ajouter. La boîte de dialogue Programmation s'affiche.

Programmation_calendaire

Spécifiez la fréquence de rafraîchissement (tous les jours, mois, années, Nièmes jours du moi...) et la date à laquelle vous souhaitez débuter la programmation.

Rafraîchissement avec les données

Dans le cas d'un portefeuille/flux, il est possible de spécifier son rafraîchissement en fonction de son modèle de données. Son rafraîchissement suivra ainsi automatiquement celui de son modèle de données.

Programmation_avec_donnees

Rafraîchissement sur événement externe

Il est possible de spécifier un identifiant d’événement externe dans la configuration de la programmation.

Cet événement permet de déclencher un rafraîchissement en utilisant une URL "fire event" fonctionnant avec l'ordonnanceur (qui doit donc être renseigné et activé). Ce mécanisme permet de déclencher le rafraîchissement comme s'il était programmé de façon calendaire, mais tout de suite dés l'appel de l'URL. Pour configurer cet événement, il faut ajouter une programmation sur le flux et le cube en précisant une fréquence (qui définit dans ce cas l'écart minimal entre 2 rafraîchissements). Par exemple, la configuration ci-dessous indique que le flux et le cube seront rafraîchis sur réception de l’événement "EVENT1" au maximum une fois par minute. Si aucun événement n'est reçu, le flux et le cube ne sont pas rafraîchis (ou alors par une autre programmation).

Programmation_sur_evenement

On peut définir plusieurs événements sur un flux/cube, et un même événement peut concerner plusieurs flux/cubes. Cela peut servir à configurer des "canaux" de rafraîchissements différents par exemple.

L'URL à appeler, soit à la main dans un navigateur, soit par un processus externe tel que le scheduler Windows par exemple a la forme suivante: http://localhost:8080/ddenterpriseapi/fireevent?eventid=EVENT1 (attention le nom de l’événement tient compte de la casse).

Dans le cas manuel, un écran de connexion apparaît le cas échéant, puis l'événement est lancé juste après l'authentification. Il n'y a pas de retour autre qu'un message indiquant que l'événement a été envoyé. Ce retour ne garantit pas que l'événement soit traité, ni quand. En effet, si l'ordonnanceur est déjà en cours de traitement, les flux concernés par l'événement sont mis en file d'attente. De plus si le précédent événement identique reçu est trop récent (voir l'écart minimal cité précédemment), alors le nouvel événement est ignoré.

Dans le cas d'un appel par un processus externe, il faut ajouter à la fin de l'url : &user=<nom>&pass=<pass> pour que l'appel de l'URL soit authentifié. Le compte concerné doit avoir le droit « programmer les rafraichissements ».

Il est aussi possible de spécifier certains utilisateurs pour lesquels les flux et cubes visés par l'événement seront rafraichis. Pour cela il faut ajouter le paramètre &users=<Id utilisateur> autant de fois qu'il y a d'utilisateur à spécifier. Par exemple http://localhost:8080/ddenterpriseapi/fireevent?eventid=EVENT&user=...&pass=...&users=user1&users=user2... etc.

Utilisation du fireevent avec l'outil ETL Talend

Pour utiliser fireevent avec l'outil ETL Talend, il faut passer par une requête curl dans le script talend sous la forme suivante:

curl -L -b /path/to/talendwrite/cookies.txt -i "http://urlserver:8080/ddenterpriseapi/fireevent?eventid=EVENT&user=admin&pass=admin

À noter :

  • Le paramètre important est le "-L" qui permet de suivre les "redirection location" des en-têtes header.
  • Le fichier cookie file n'est pas un paramètre d'entrée.
  • Il ne faut pas passer le composant Talend thttprequest.
  • Il faut utiliser CURL avec "\"" autour de l'URL sur le composant "tSystem".

Évènements existants

Des évènements existent déjà dans DigDash et peuvent être appelés à tout moment :

  • EVENT_STOPSESSIONS : désactive le gestionnaire de sessions.
  • EVENT_STARTSESSIONS : active le gestionnaire de sessions.
  • FORCE_FILESGC : désactive toutes les sessions et nettoie les fichiers obsolètes pour minimiser l'utilisation de l'espace disque.

Il est possible de définir une chaîne d'événements. Par exemple :

.../firevent?eventid=EVENT_STOPSESSIONS&eventid=REFRESH&eventid=EVENT_STARTSESSIONS
désactive le gestionnaire de sessions, puis rafraîchit tous les flux (si l'événement REFRESH est connu du portefeuille), puis réactive le gestionnaire de session.

.../firevent?eventid=REFRESH&eventid=FORCE_FILESGC
rafraîchit tous les flux (si l'événement REFRESH est connu du portefeuille) puis, nettoie les fichiers obsolètes pour minimiser l'utilisation de l'espace disque. 

Rafraîchissement sur ouverture du flux

Le rafraîchissement peut être spécifié à chaque ouverture du flux avec une fréquence maximale de rafraîchissement.

Programmation_ouverture_flux

Rafraîchissement avec programmation partagée

Une programmation partagée est une programmation qui est sauvegardée et peut être appelée pour programmer le rafraîchissement d'autres éléments.

Créer une programmation partagée

Une programmation partagée peut être définie depuis la boite Programmation ou depuis le Gestionnaire de rafraîchissements.

  • Depuis la boite Programmation :

 Il est possible de sauvegarder la programmation définie comme programmation partagée en cochant la case Sauvegarder une programmation partagée... Entrez un nom et, si besoin, sélectionnez un rôle auquel la programmation est uniquement partagée.

Exemple_programamtion_partagee

Cette programmation partagée peut être ensuite être visualisée et éditée dans le Gestionnaire de rafraîchissements.

Le Gestionnaire de rafraîchissements est accessible via le bouton Gestionnaires Bouton_gestionnaires en haut à droite de l'écran du Studio puis Programmations.

Gestionnaire_programmation_partagee

  • Depuis le Gestionnaire de rafraîchissement :

Cliquez sur le bouton + à droite du champ Chercher pour ajouter une nouvelle programmation partagée : une Nouvelle programmation s'ajoute à la liste avec les paramètres par défaut.

Dans la section Édition sur la droite, entrez un nom et définissez les paramètres de programmation. 

Nouvelle_programmation_partagee