Une dépendance de planification inter-cycle garantit que l'instance actuelle d'un nœud ne s'exécute qu'après la réussite de son instance du cycle de planification précédent. Cette configuration est utile lorsqu'une tâche quotidienne nécessite les données de la veille ou lorsqu'une tâche horaire ou à la minute dépend de son instance précédente. Cette rubrique explique comment configurer ces dépendances.
Notes d'utilisation
Avant de configurer une dépendance de planification inter-cycle, tenez compte des points suivants.
|
Élément |
Description |
Références |
|
Affichage des dépendances inter-cycles |
Dans le DAG DataWorks, une ligne pointillée représente une dépendance de planification inter-cycle. |
|
|
Vérification des dépendances intra-cycles après configuration |
Après configuration des dépendances, un nœud descendant ne s'exécute qu'une fois tous ses nœuds ancêtres terminés. Les dépendances intra-cycles sont analysées automatiquement. Après avoir configuré une dépendance inter-cycle, vérifiez si la dépendance intra-cycle reste nécessaire. Sinon, supprimez la dépendance générée automatiquement pour garantir l'exécution correcte du nœud descendant. |
|
|
Utilisation dans des scénarios complexes |
Dans certains cas, il peut être nécessaire de configurer une dépendance de planification inter-cycle lorsqu'une dépendance intra-cycle ne répond pas à vos besoins. Par exemple, une tâche quotidienne dépend par défaut de toutes les instances d'une tâche horaire. Vous pouvez configurer une auto-dépendance pour la tâche horaire afin que la tâche quotidienne dépende d'une instance d'un cycle spécifique. |
Principes et exemples de configurations de planification dans des scénarios de dépendance complexes |
|
Aperçu des dépendances de nœud |
Avant de déployer une tâche, consultez un aperçu de ses dépendances pour vérifier l'exactitude des relations entre instances. Cette pratique permet d'éviter les retards de planification dans l'environnement de production dus à des erreurs de configuration. |
|
|
Déploiement de tâche |
Déployez les nœuds ancêtres et descendants impliqués dans une dépendance de planification inter-cycle vers l'environnement de production. Vous pourrez ensuite visualiser la relation de dépendance dans Operation Center. |
Point d'entrée de configuration
Sur la page de l'éditeur de nœud dans DataStudio, cliquez sur Scheduling Settings dans le volet de navigation de droite. Dans la section , accédez à la zone Previous Cycle pour configurer les dépendances du nœud.
Types de dépendance
Le tableau suivant décrit les types pris en charge de dépendances de planification inter-cycle.
|
Type de dépendance |
Relation de dépendance de nœud |
Scénario métier |
|
Dépendance au cycle précédent du nœud actuel (auto-dépendance) |
L'instance actuelle d'un nœud ne s'exécute qu'après la réussite de sa propre instance du cycle précédent. |
L'instance actuelle d'un nœud dépend des données produites par sa propre instance lors du cycle précédent. |
|
L'instance actuelle d'un nœud ne s'exécute qu'après la réussite des nœuds descendants du cycle précédent. |
L'instance actuelle dépend du traitement réussi des données de la table de sortie du cycle précédent par ses nœuds descendants lors de ce même cycle précédent. |
|
|
L'instance actuelle d'un nœud dépend des résultats d'instance d'autres nœuds spécifiés du cycle précédent. L'instance actuelle ne s'exécute qu'après la réussite des nœuds spécifiés du cycle précédent. |
L'instance actuelle présente une dépendance logique métier vis-à-vis des données d'un autre processus métier, mais le code du nœud ne référence pas directement ces données. |
Auto-dépendance
L'instance actuelle d'un nœud dépend des données produites par sa propre instance lors du cycle précédent. La figure suivante illustre un exemple de paramètres de dépendance et la relation résultante.
Les résultats d'exécution des instances d'une tâche horaire ou d'une tâche à la minute sont interdépendants selon les différents cycles de planification.
Lorsqu'une tâche quotidienne dépend d'une tâche horaire ou d'une tâche à la minute, la configuration ou non d'une auto-dépendance pour la tâche horaire ou à la minute affecte l'heure d'exécution de la tâche quotidienne :
-
Tâche horaire ou à la minute sans auto-dépendance
La tâche quotidienne dépend par défaut de toutes les instances de la tâche horaire ou à la minute de la journée en cours. La tâche quotidienne agrège et traite toutes les données de table produites par la tâche horaire ou à la minute ce jour-là.
-
Tâche horaire ou à la minute avec auto-dépendance
La tâche quotidienne dépend de l'instance la plus proche de la tâche horaire ou à la minute, selon le principe de proximité, plutôt que de toutes les instances de la journée en cours.
Pour plus d'informations sur des scénarios de dépendance spécifiques, consultez Annexe : Récapitulatif des scénarios de dépendance complexes.
Lorsque vous effectuez une rétroalimentation de données pour une tâche dotée d'une auto-dépendance, ses instances s'exécutent séquentiellement dans l'ordre chronologique. Pour plus d'informations, consultez Comportement de rétroalimentation de données pour les tâches auto-dépendantes.
Dépendance aux nœuds descendants de premier niveau
L'instance actuelle d'un nœud dépend des résultats de traitement de ses nœuds descendants du cycle précédent. Cette dépendance garantit que les données du cycle précédent du nœud ont été traitées avec succès par ses descendants.
Par exemple, le nœud C possède deux nœuds descendants, A et B. Une dépendance aux nœuds descendants de premier niveau signifie que le nœud C dépend des résultats du nœud A et du nœud B du cycle précédent (T-1 sur la figure). L'instance actuelle du nœud C (à T) commence à s'exécuter uniquement après la réussite des instances des nœuds A et B du cycle précédent.
Dépendance à d'autres nœuds
L'instance actuelle d'un nœud ne s'exécute qu'après la réussite des instances d'autres nœuds spécifiés du cycle précédent.
Par exemple, le nœud A et le nœud B sont deux nœuds descendants d'un autre nœud. Une dépendance à d'autres nœuds est configurée de sorte que le nœud B dépende du résultat du nœud D du cycle précédent (T-1 sur la figure). L'instance actuelle du nœud B (à T) commence à s'exécuter uniquement après la réussite de l'instance du nœud D du cycle précédent.
Héritage de l'attribut dry-run
Ce paramètre est principalement utilisé avec les nœuds de branchement.
-
Point d'entrée de configuration
Dans les paramètres de dépendance de planification, définissez l'option Skip the dry-run property of the ancestor node sur Yes. Cela empêche le nœud descendant d'hériter de l'attribut dry-run de son nœud ancêtre du cycle précédent.
-
Cas d'utilisation
Un nœud possède plusieurs nœuds descendants. Lors de l'exécution de la tâche, certaines branches descendantes peuvent être définies en état dry-run. Si un nœud descendant en état dry-run est également configuré avec une auto-dépendance, il transmet l'attribut dry-run aux instances suivantes, provoquant un état dry-run perpétuel. Pour empêcher cet héritage, définissez Skip the dry-run property of the ancestor node sur Yes.
-
Example
Supposons que Assign_Node soit un nœud d'affectation, Branch_Node un nœud de branchement, et Shell_Node1 et Shell_Node2 des nœuds descendants de Branch_Node. Il s'agit tous de tâches quotidiennes.
Lors d'une exécution, Shell_Node1 est défini en mode dry-run, tandis que Shell_Node2 s'exécute normalement.
Le nœud Shell_Node1 est configuré avec une auto-dépendance sur son cycle précédent.
L'instance de Shell_Node1 générée dans le cycle actuel (T) est nommée
Shell_Node1'.L'instance de Shell_Node1 générée dans le cycle précédent (T-1) est nommée
Shell_Node1.
L'instance Shell_Node1'du cycle actuel (T) dépend de l'instanceShell_Node1du cycle précédent (T-1). Si l'option « Ignorer l'attribut dry-run de l'ancêtre » n'est pas activée, la nouvelle instance hérite de l'attribut dry-run de l'instance précédente, ce qui maintient le nœud Shell_Node1 dans un état dry-run permanent.
Consulter un aperçu des dépendances de planification
Après avoir configuré les dépendances, vous pouvez en consulter un aperçu. Pour plus de détails, consultez Étapes suivantes : Vérifier que les dépendances correspondent aux attentes.