Exécution du pipeline des tâches
En résumé
Lors de la création d’une Planification, l’orchestrateur doit synchroniser les tâches du pipeline. Il n’est pas possible d’exécuter la Planification pendant cette phase. |
Si une erreur de synchronisation se produit, essayez d’enregistrer à nouveau la Planification ou patienter quelques minutes. |
Statut d’exécution
Les statuts d’exécution renseignent sur l’état des tâches et des Planifications.
- On distingue 2 statuts d’exécution
-
-
Un statut d’exécution propre à chaque tâche
-
Un statut d’exécution global, porté par la Planification et qui dépend du résultat de l’ensemble des statuts des tâches
-
Les statuts sont mis à jour à chaque exécution.
Les statuts des exécutions passées sont consultables depuis l’onglet historique d’exécution de la Planification.
Statut d’exécution global
Le statut d’exécution de la Planification est mis à jour à chaque exécution, en fonction du résultat des statuts d’exécution des tâches.
Ce statut est visible depuis la liste des Planifications et l’historique d’exécution de la Planification.
Il indique toujours le statut de la tâche la plus impactante.
Statut | Signification |
---|---|
La Planification n’a jamais été exécutée |
|
Au moins une tâche est en cours d’exécution |
|
L’ensemble des tâches ont été exécutées avec succès |
|
Au moins une tâche est en échec |
Statut d’exécution des tâches
Chaque tâche possède un statut d’exécution propre, mis à jour à chaque exécution.
Statut d’exécution spécifique | Signification |
---|---|
La tâche n’a pas encore été exécutée |
|
La tâche se prépare à être exécutée |
|
La tâche est en cours d’exécution |
|
La tâche a été exécutée avec succès |
|
La tâche a rencontré une erreur bloquante et n’a pas été exécutée |
|
La tâche n’a pas été exécutée car la tâche précédente est en échec |
|
La tâche n’a pas été exécutée car l’exécution a été arrêtée pendant qu’elle était en cours |
Journal d’exécution
Chaque exécution de tâche génère un fichier appelé journal d’exécution.
Pour le consulter, cliquer sur le statut d’une tâche, depuis la liste des Planifications, ou depuis l’historique d’une Planification.
Le journal contient de nombreuses informations et peut vous renseigner sur les problèmes rencontrés lors de l’exécution.
Un léger décalage de temps est possible par exemple si la Planification vient d’être exécutée. Dans ce cas, patienter quelques minutes. |
Il est impossible d’afficher le journal d’une tâche qui a été supprimée. |
Historique d’exécution
L’historique d’exécution permet d’apprécier l’évolution des exécutions dans le temps et de consulter le journal d’une tâche lors d’une exécution passée.
.
Ordre d’exécution
Il est important de noter que DC-Maestro n’exécute pas lui-même les tâches mais envoie des demandes d’exécution (par exemple à DataChain).
Par conséquent, l’ordre d’exécution des tâches n’est pas totalement dépendant de DC-Maestro.
Si les tâches ne sont pas reliées entre elles, les demandes d’exécution sont envoyées en parallèle et dans un ordre aléatoire.
Par exemple, si DC-Maestro envoie 3 tâches DataChainCore à exécuter en parallèle, l’ordre d’exécution est défini par DataChainCore, au moment de la réception de la requête et en fonction de la disponibilité du serveur.
Pour définir un ordre d’envoi précis, il est nécessaire de relier les tâches entre elles à l’aide du Workflow.
Si le Workflow comporte à la fois des tâches reliées et non reliées, DC-Maestro envoie une demande d’exécution en parallèle des tâches non reliées et du pipeline dont les tâches sont exécutées dans l’ordre défini par ce dernier.
Afin de proposer une vue harmonisée et partagée pour l’ensemble des Planifications, les tâches sont automatiquement réorganisées à chaque sauvegarde, ou au clic sur le bouton |
Dans l’exemple ci-dessous, l’exécution de la dernière tâche a été bloquée à cause de l’échec d’une des tâches qui la précède.
.
L’ordre est défini par le lien entrée/sortie (gauche et droite) mais pas haut et bas. Deux tâches reliées à une même tâche précédente seront exécutées indépendamment l’une de l’autre (simultanément, avant ou après). |
Ordre logique et ordre effectif d’exécution
L’ordre logique d’exécution visible dans la liste des exécutions est calculé à partir de l’ordonnancement des tâches existantes définies dans le Workflow.
Cet ordre peut différer de l’ordre effectif d’une exécution donnée, visible dans l’historique.
L’historique permet de connaître précisément dans quel ordre les tâches planifiées pour une exécution donnée ont effectivement été exécutées par l’orchestrateur.
Type d’exécution
Le type d’exécution peut être
-
manuel : l’utilisateur doit être connecté et cliquer sur
-
automatique : la Planification s’exécute indépendamment des utilisateurs connectés, à la fréquence définie et peut aussi être exécutée manuelle
Le type est modifiable depuis l’onglet "Paramètres".
Exécution manuelle
Une Planification manuelle peut être exécutée librement, selon les besoins.
C’est le choix idéal pour les Planifications à exécuter ponctuellement ou dont la fréquence est impossible à prévoir à l’avance.
Nous recommandons de choisir ce mode à la création d’une Planification afin de tester le pipeline de tâches librement.
Exécution automatique
Une Planification automatique active s’exécute en fonction de la fréquence définie, indépendamment des utilisateurs connectés.
C’est le choix parfait lors du passage en production du traitement des données d’un pipeline stable.
Depuis la liste des exécutions, la fréquence du CRON et la date de la prochaine exécution programmée sont indiquées en heure locale et en UTC.
.
Si la Planification est en cours d’exécution, il est possible de l’inactiver et de connaître la date de la prochaine exécution. |
Forcer l’arrêt d’une Planification en cours d’exécution
Attention, l’usage de cette fonctionnalité peut empêcher la bonne exécution d’une chaîne de traitement. |
Vous pouvez faire une demande d’arrêt lorsqu’une exécution est en cours en cliquant sur l’icône STOP .
Cette fonction est particulièrement indiquée dans le cas où des tâches DC-Maestro resteraient visibles comme "en cours d’exécution" alors qu’aucun job n’est en cours dans DataChain Core.
Ce problème peut survenir lors de difficultés de synchronisation avec DataChain Core, lors de la mise à jour de l’instance par exemple.
Il arrive que l’arrêt ne soit pas possible à un instant T et que cette demande n’aboutisse pas.
Dans ce cas, cliquez à nouveau sur [STOP] pour faire une nouvelle tentative.
Si l’exécution est très rapide, l’icône Stop n’aura pas le temps d’apparaître.
L’arrêt intervient soit :
-
après l’exécution de la dernière tâche en cours, elle sera notée comme succès
-
pendant l’exécution d’une tâche : elle sera notée en échec
Les statuts des tâches non exécutées à la suite d’un arrêt peuvent varier (ignorée, aucun, bloquée).
Dans tous les cas le statut d’exécution d’une Planification qui a été stoppé sera en échec.