Tous les produits
Search
Centre de documentation

:Principes de planification pour les dépendances complexes

Dernière mise à jour :Aug 10, 2026

DataWorks vous permet de créer des dépendances entre des tâches déclenchées automatiquement qui ont des fréquences de planification différentes, telles que la minute, l'heure, le jour, la semaine, le mois et l'année. Chaque exécution de tâche constitue une instance, et la fréquence de planification détermine le nombre d'instances générées. Cette rubrique explique comment DataWorks établit des dépendances entre les instances des tâches ascendantes et descendantes lorsque leurs fréquences de planification diffèrent.

Contexte

  • Dans DataWorks, une tâche déclenchée automatiquement génère des instances en fonction de sa fréquence de planification. Par exemple, une tâche horaire génère un nombre correspondant d'instances chaque jour. Les dépendances entre les tâches sont établies au niveau de leurs instances. Lorsque les tâches ascendantes et descendantes ont des fréquences de planification différentes, le nombre d'instances et la manière dont elles dépendent les unes des autres varient.

  • DataWorks prend en charge divers scénarios de dépendance de planification. Vous pouvez choisir de configurer une dépendance de planification au sein du même cycle ou une dépendance de planification inter-cycles. Pour plus d'informations, consultez Configurer une dépendance de planification au sein du même cycle et Configurer une dépendance de planification inter-cycles.

  • Pour les scénarios transfrontaliers où une tâche quotidienne dépend de tâches horaires ou basées sur les minutes, outre la réalisation indirecte via l'auto-dépendance et le principe de proximité, vous pouvez activer la Configuration avancée des dépendances de planification pour utiliser directement la dépendance Plage spécifiée afin de configurer la plage de dépendance requise (par exemple [-5, 19]), ou utiliser la dépendance Ensemble spécifié pour configurer avec précision les dépendances sur des instances à des heures fixes, sans avoir besoin de définir une auto-dépendance pour les tâches horaires en amont. Pour plus d'informations, consultez Configurer une dépendance de planification au sein du même cycle.

Assimilez ces concepts avant de configurer une dépendance de planification.

Description

Références

1

DataWorks prend en charge plusieurs fréquences de planification, notamment la minute, l'heure, le jour, la semaine, le mois et l'année. Lorsqu'une tâche ascendante et une tâche descendante ont des fréquences de planification différentes, DataWorks établit la dépendance de planification en utilisant le principe de proximité temporelle de planification.

Remarque
  • Si une tâche horaire dépend d'une autre tâche horaire et qu'elles génèrent le même nombre d'instances par jour, ce principe ne s'applique pas. La dépendance n'est pas liée à l'heure de planification.

  • Par défaut, une tâche quotidienne dépend de toutes les instances générées par ses tâches ascendantes horaires ou basées sur les minutes le même jour. La tâche quotidienne ne démarre qu'après le traitement de toutes les données de cette journée provenant des tâches ascendantes.

Montage des dépendances : principe de proximité

2

Une dépendance de planification établit une dépendance de données entre les tâches. La tâche descendante ne s'exécute pas tant que sa tâche ascendante n'est pas terminée avec succès, indépendamment de l'heure de planification propre à la tâche descendante.

Impact des dépendances sur l'exécution des tâches

3

Vous pouvez approfondir votre compréhension du principe de proximité grâce aux exemples de scénarios suivants.

Annexe 1 : Résumé des scénarios de dépendances complexes

Les scénarios incluent :

Résolution des dépendances : Le principe de proximité temporelle de planification

Lorsqu'une tâche déclenchée automatiquement s'exécute dans DataWorks, plusieurs instances sont générées. Les instances descendantes dépendent des instances ascendantes. Sauf si une instance ascendante spécifique est désignée, l'instance descendante suit le principe de proximité lors de l'établissement des dépendances. Cela signifie que l'instance descendante dépend de l'instance ascendante dont l'heure de planification est la plus proche mais non postérieure à l'heure de planification de la descendante, et qui n'a pas été réclamée par une autre instance descendante. Les principes de dépendance pour différents scénarios sont les suivants :

Remarque
  • Si l'heure de planification de la tâche descendante est antérieure à celle de la tâche ascendante, la tâche descendante ne sera pas planifiée même lorsque son heure programmée arrive. Elle doit attendre que la tâche ascendante soit terminée avant de pouvoir être planifiée.

  • Lorsque les dépendances sont établies selon le principe de proximité, si aucune instance ascendante n'est planifiée avant la première instance de la tâche descendante un jour donné, l'instance descendante dépend par défaut de la première instance ascendante de ce jour-là.

Scénario

Description

Schéma

Dépendances entre les tâches horaires et les tâches basées sur les minutes

  • Les dépendances sont liées à l'heure de planification des instances

    • Comportement par défaut : Les instances descendantes reçoivent des dépendances selon le principe de proximité. DataWorks attribue à chaque instance descendante l'instance ascendante dont l'heure de planification est antérieure ou égale à l'heure de planification de la descendante et qui n'a pas été réclamée par une autre instance descendante.

      Remarque

      Lorsque le nœud en amont s'exécute à une fréquence plus élevée que le nœud en aval (c'est-à-dire que l'ascendant génère plus d'instances que le descendant), l'instance en aval dépend en réalité de toutes les instances ascendantes produites dans son intervalle de planification (début, fin].

    • Cas particulier : Si les nœuds ascendants et descendants ont tous deux une auto-dépendance configurée (c'est-à-dire une dépendance inter-cycles sur le nœud lui-même), l'instance descendante actuelle dépend d'une seule instance ascendante dont l'heure de planification est antérieure ou égale à l'heure de planification de la descendante.

      Remarque

      Reportez-vous aux schémas pour les scénarios détaillés où les tâches horaires et les tâches basées sur les minutes sont configurées avec des auto-dépendances.

  • Les dépendances ne sont pas liées à l'heure de planification des instances.

    Lorsqu'une tâche horaire dépend d'une autre tâche horaire, ou qu'une tâche basée sur les minutes dépend d'une autre tâche basée sur les minutes, et que les nœuds ascendants et descendants génèrent le même nombre d'instances par jour, les dépendances sont établies selon un mappage un-à-un basé sur la séquence des instances.

La figure suivante présente une vue d'ensemble des scénarios détaillés pour les dépendances entre les tâches horaires et les tâches basées sur les minutes :

Tâche horaire dépendant d'une tâche horaire

image

Tâche horaire dépendant d'une tâche basée sur les minutes

image

Tâche basée sur les minutes dépendant d'une tâche horaire

image

Exemple :

Une tâche horaire dépend d'une autre tâche horaire.

image
  • Scénario 1 : La tâche horaire B dépend de la tâche horaire A.

    Configuration :

    • La plage horaire est définie de 00:00 à 23:59 chaque jour.

    • Les tâches A et B sont planifiées toutes les 5 heures.

    • Les tâches A et B génèrent le même nombre d'instances par jour.

    Dépendance : Les tâches A et B génèrent le même nombre d'instances par jour, donc les dépendances entre instances sont mappées une à une.

  • Scénario 2 :

    Configuration :

    • La tâche A est planifiée toutes les 4 heures pendant la plage horaire 06:10-21:59 chaque jour, générant au total 4 instances.

    • La tâche B est planifiée toutes les 4 heures pendant la plage horaire 08:00-23:59 chaque jour, générant au total 4 instances.

    Dépendance : Les tâches A et B génèrent le même nombre d'instances par jour, donc les dépendances entre instances sont mappées une à une.

Tâche quotidienne dépendant d'une tâche horaire ou basée sur les minutes

Comportement par défaut : Par défaut, une tâche quotidienne dépend de toutes les instances générées par ses tâches ascendantes horaires ou basées sur les minutes le même jour. La tâche quotidienne ne démarre qu'après le traitement de toutes les données de cette journée provenant des tâches ascendantes.

Autres cas : Si la tâche quotidienne doit seulement dépendre de l'instance horaire ou basée sur les minutes la plus proche de sa propre heure de planification, vous pouvez configurer une auto-dépendance pour la tâche horaire ou basée sur les minutes. Après cette configuration, la tâche quotidienne démarre dès que cette instance horaire ou basée sur les minutes est terminée.

image

Pour plus de détails sur les dépendances et le comportement d'exécution dans divers scénarios de planification, consultez Annexe 1 : Résumé des scénarios de dépendances complexes.

Comment les dépendances affectent l'exécution des tâches

Une fois qu'une tâche descendante a une dépendance configurée, la tâche ne s'exécutera pas à l'heure prévue si la tâche ascendante n'est pas terminée avec succès.

Par exemple, la tâche horaire B dépend de la tâche quotidienne A, et la tâche horaire B n'a pas d'auto-dépendance configurée.

  • Tâche quotidienne A : L'heure de planification est définie sur 07:00.

  • Tâche horaire B : Les heures de planification sont définies sur 00:00, 08:00, et 16:00.

Si la tâche quotidienne A n'est pas terminée, la tâche horaire B ne s'exécutera pas même lorsque son heure prévue 00:00 arrive. L'heure d'exécution réelle la plus précoce de la tâche descendante B est 07:00.

image

Annexe 1 : Résumé des scénarios de dépendances complexes

Si l'heure de planification d'une tâche descendante est antérieure à celle de sa tâche ascendante, la tâche descendante ne sera pas distribuée même lorsque son heure prévue arrive. Elle doit attendre que la tâche ascendante soit terminée. Pour la première instance de la tâche descendante un jour donné, si la tâche ascendante n'a aucune instance planifiée plus tôt, la tâche descendante dépend par défaut de la première instance de la tâche ascendante de ce jour-là.

Tâche horaire dépendant d'autres tâches

Scénario

Détails des dépendances et de l'exécution

Schéma

Tâche horaire dépendant d'une tâche horaire

  • L'ascendant et le descendant ont le même nombre d'instances

    Les instances générées par les tâches ascendantes et descendantes le même jour sont mappées une à une. La première instance descendante dépend de la première instance ascendante, la deuxième instance descendante dépend de la deuxième instance ascendante, et ainsi de suite.

  • L'ascendant et le descendant ont des nombres d'instances différents

    Les instances générées par les tâches ascendantes et descendantes le même jour sont mappées selon le principe de proximité temporelle de planification. Chaque instance descendante dépend de l'instance ascendante dont l'heure planifiée est la plus proche (égale ou antérieure) à l'heure planifiée de l'instance descendante elle-même.

    Cas particulier : Dans une configuration de dépendance de planification où la tâche ascendante s'exécute plus fréquemment que la tâche descendante (scénario « plus d'ascendants, moins de descendants »), la logique de dépendance pour les instances descendantes suit le principe de couverture d'intervalle plutôt que la simple proximité.

    Portée de la dépendance : Une instance descendante dépend de toutes les instances ascendantes produites dans son intervalle de cycle (début, fin].

    • début fait référence à l'heure de planification de l'instance descendante précédente.

    • fin fait référence à l'heure de planification de l'instance descendante actuelle.

image

Tâche horaire dépendant d'une tâche quotidienne

  • Tâche horaire sans auto-dépendance

    Toutes les instances générées par la tâche horaire descendante le jour actuel dépendent de la tâche quotidienne ascendante. Les instances horaires descendantes commencent à s'exécuter uniquement après la fin de la tâche quotidienne. À ce moment-là, toutes les instances horaires dont les heures de planification sont déjà passées s'exécutent simultanément.

    Remarque
    • Si vous ne souhaitez pas d'exécution simultanée, configurez une auto-dépendance pour la tâche horaire en aval.

    • Toutes les instances périodiques générées par la tâche horaire en aval s'exécutent indépendamment les unes des autres.

  • Tâche horaire avec auto-dépendance

    • Seule la première instance horaire dépend de la tâche quotidienne ascendante. Chaque instance horaire suivante dépend de l'instance horaire du cycle précédent.

    • L'instance horaire actuelle commence à s'exécuter uniquement après que la tâche quotidienne et l'instance horaire du cycle précédent sont toutes deux terminées. Même si l'heure de planification est arrivée, les instances horaires ne s'exécutent pas simultanément.

    Remarque

    Une auto-dépendance crée une dépendance inter-jours. Si la dernière instance périodique de la veille n'est pas terminée, la tâche du jour ne peut pas être planifiée.

image

Tâche horaire dépendant d'une tâche basée sur les minutes

  • Tâche basée sur les minutes sans auto-dépendance

    La tâche horaire descendante dépend de toutes les instances de niveau minute générées par la tâche ascendante basée sur les minutes au cours de cette heure.

  • La tâche basée sur les minutes et la tâche horaire ont toutes deux une auto-dépendance

    La tâche horaire descendante dépend de l'instance ascendante de niveau minute dont l'heure de planification est la plus proche (égale ou antérieure) à l'heure de planification de la descendante elle-même au cours de cette heure.

image

Tâche quotidienne dépendant d'autres tâches

Scénario

Dépendance et exécution

Schéma

Tâche quotidienne dépendant d'une tâche quotidienne du même cycle

  • Tâche quotidienne ascendante sans auto-dépendance

    Par défaut, l'instance de la tâche quotidienne descendante dépend de l'instance de la tâche quotidienne ascendante du même cycle.

  • Tâche quotidienne ascendante avec auto-dépendance

    Lorsque la tâche quotidienne ascendante a une auto-dépendance configurée, une dépendance inter-cycles existe entre la tâche quotidienne descendante et la tâche quotidienne ascendante.

    Remarque

    Une auto-dépendance crée une dépendance inter-jours. Si la dernière instance périodique de la veille n'est pas terminée, la tâche du jour ne peut pas être planifiée.

image

Tâche quotidienne dépendant des tâches horaires du jour actuel

  • Tâche horaire sans auto-dépendance

    La tâche quotidienne descendante dépend de toutes les instances horaires générées par la tâche horaire ascendante le jour actuel. La tâche quotidienne ne commence le traitement qu'après que toutes les données horaires du jour ont été traitées.

    Remarque

    Si la tâche quotidienne doit seulement dépendre d'une instance horaire spécifique, vous pouvez configurer une auto-dépendance pour la tâche horaire. Après l'exécution réussie de cette instance horaire spécifique, la tâche quotidienne est automatiquement planifiée.

  • Tâche horaire avec auto-dépendance

    La tâche quotidienne descendante dépend de l'instance horaire ascendante dont l'heure de planification est la plus proche (égale ou antérieure) à l'heure de planification de la descendante elle-même.

image

Tâche quotidienne dépendant des tâches horaires ou basées sur les minutes de la veille

  • Tâche horaire ou basée sur les minutes sans auto-dépendance

    La tâche quotidienne descendante dépend de toutes les instances horaires ou basées sur les minutes générées par la tâche ascendante la veille.

  • Tâche horaire ou basée sur les minutes avec auto-dépendance

    La tâche quotidienne descendante dépend de la dernière instance horaire ou basée sur les minutes générée par la tâche ascendante la veille.

L'exemple suivant utilise une tâche quotidienne qui dépend d'une tâche horaire de la veille.

image

Tâche basée sur les minutes dépendant d'autres tâches

Scénario

Description de la dépendance

Schéma

Tâche basée sur les minutes dépendant d'une tâche horaire

  • Tâche basée sur les minutes sans auto-dépendance

    Chaque instance de la tâche descendante basée sur les minutes dépend de l'instance horaire la plus proche dont l'heure de planification est antérieure ou égale à sa propre heure de planification, sans dupliquer les dépendances.

    Remarque

    Dans ce scénario, plusieurs instances périodiques descendantes basées sur les minutes dépendent de la même instance périodique ascendante horaire.

  • Les tâches basées sur les minutes et horaires ont toutes deux une auto-dépendance configurée

    Chaque instance de la tâche descendante basée sur les minutes dépend de sa propre instance précédente et, selon le principe de proximité temporelle de planification, dépend de l'instance ascendante horaire la plus proche dont l'heure de planification est antérieure ou égale à sa propre heure de planification.

image

Tâche basée sur les minutes dépendant d'une tâche quotidienne

  • Tâche basée sur les minutes sans auto-dépendance

    Toutes les instances basées sur les minutes générées par la tâche descendante basée sur les minutes un jour donné dépendent de la tâche quotidienne. La tâche basée sur les minutes ne peut s'exécuter qu'après que la tâche quotidienne ait atteint son heure de planification et terminé son exécution.

    Remarque
    • Après la fin de la tâche quotidienne, les instances basées sur les minutes dont les heures de planification sont déjà passées s'exécuteront simultanément. Pour éviter l'exécution simultanée, configurez une auto-dépendance pour la tâche basée sur les minutes.

    • L'exécution des différentes instances de la tâche basée sur les minutes ne s'affecte pas mutuellement.

  • Tâche basée sur les minutes avec auto-dépendance configurée

    • Seule la première instance générée par la tâche descendante basée sur les minutes dépend de la tâche quotidienne. Toutes les autres instances dépendent directement de leur propre instance précédente.

    • Une instance basée sur les minutes commence sa planification uniquement après que la tâche quotidienne et l'instance précédente basée sur les minutes ont terminé leur exécution. Dans ce cas, les instances basées sur les minutes ne s'exécuteront pas simultanément même si leurs heures de planification sont déjà passées.

    Remarque

    Une auto-dépendance crée une dépendance inter-jours. Si la dernière instance périodique de la veille n'est pas terminée, la tâche du jour ne peut pas être planifiée.

image

Autres tâches dépendant de tâches hebdomadaires, mensuelles ou annuelles

Lorsque des tâches quotidiennes, horaires ou basées sur les minutes dépendent de tâches hebdomadaires, mensuelles ou annuelles, les tâches hebdomadaires, mensuelles ou annuelles génèrent des instances de simulation (dry-run) les jours non planifiés. Ces instances ne traitent pas réellement les données, ne consomment pas de ressources et ne bloquent pas l'exécution des tâches descendantes.

L'exemple suivant utilise le scénario d'une tâche quotidienne dépendant d'une tâche hebdomadaire sans auto-dépendance :

  • Tâche hebdomadaire ascendante : S'exécute normalement le lundi et le vendredi. Le mardi, mercredi, jeudi, samedi et dimanche, des instances de simulation sont générées et automatiquement définies avec un statut de réussite à l'heure de planification sans exécuter la logique du code. Les instances de simulation n'affectent pas l'exécution normale des instances descendantes.

  • Tâche quotidienne descendante : Génère une instance planifiée chaque jour et dépend de l'instance générée par la tâche hebdomadaire ascendante chaque jour (y compris les instances de simulation). Après que l'instance de la tâche hebdomadaire ascendante pour la journée est terminée avec succès, l'instance descendante correspondante est déclenchée pour s'exécuter.

image

Annexe 2 : Planification de workflow

DataWorks vous permet d'ajouter des nœuds ascendants et descendants à un workflow dans son ensemble. Pour plus de détails sur la planification de workflow, consultez Planification de workflow.

Annexe 3 : Agrégation globale de données transfrontalière (dépendance de plage spécifiée)

Lorsqu'un entrepôt de données en Chine traite centralisé des données provenant de plusieurs régions du monde, les tâches ascendantes horaires de chaque région s'exécutent selon l'heure locale, tandis que la tâche quotidienne descendante agrège les données quotidiennes selon le fuseau horaire de la Chine. En raison des différences de fuseaux horaires, la tâche quotidienne descendante doit utiliser une dépendance de plage spécifiée pour dépendre de toutes les instances des tâches ascendantes horaires de chaque région dans une fenêtre temporelle spécifique.

Exemple de scénario (horodatage des données : 2026-01-22)

Région

Différence horaire avec la Chine

Type de dépendance

Configuration du décalage

Instances dépendantes réelles

Inde

2,5 heures de retard

Plage spécifiée

[-3, 21]

01-21 21:00 ~ 01-22 21:00 (24 instances)

Arabie saoudite

5 heures de retard

Plage spécifiée

[-5, 19]

01-21 19:00 ~ 01-22 19:00 (24 instances)

Comportement des dépendances inter-jours dans les scénarios de backfill

Le comportement des dépendances inter-jours des instances générées par les tâches de backfill diffère de celui des instances de planification régulières.

1. Dépendances inter-jours configurées par plage spécifiée ou ensemble spécifié

Lorsque vous exécutez une tâche de backfill, les dépendances inter-jours configurées par une plage spécifiée ou un ensemble spécifié ne prennent pas effet.

  • Comportement spécifique : Lorsque des instances de backfill sont générées pour plusieurs dates métier, le système ignore automatiquement toutes les dépendances qui traversent les limites des dates métier lors de la résolution des dépendances. Cela signifie qu'une instance de backfill ne monte que les instances en amont de la même date métier, et ne monte pas les instances en amont qui pointent vers la veille ou le lendemain tel que défini dans la configuration.

  • Exemple : Une tâche quotidienne est configurée avec une dépendance de plage sur une tâche horaire en amont [-4h, 0] (dépendant des 4 instances avant 00:00 du jour actuel). Lors de la planification régulière, l'instance du 11 mai dépend des instances du 10 mai, 20:00-23:00. Cependant, lorsque vous effectuez un backfill des données pour le 11 mai, cette dépendance inter-jours est ignorée, et l'instance ne montera aucune instance en amont.

2. Dépendance inter-jours par défaut dans le backfill (mécanisme de sérialisation)

Par défaut, lorsque vous exécutez un backfill par lot non groupé, une dépendance série implicite existe entre les instances de différentes dates métier.

  • Comportement spécifique : Toutes les instances de backfill pour la date métier D attendent que toutes les instances de backfill pour la date métier D-1 soient terminées avec succès avant de commencer à s'exécuter. Cela signifie que si une instance de la date D-1 échoue, aucune des instances de la date D ne sera planifiée.

  • Exception : Si vous sélectionnez une exécution groupée pour le backfill, ce mécanisme de sérialisation ne prend pas effet. Les instances de tâches au sein de chaque groupe d'exécution s'exécutent indépendamment et ne sont pas affectées par le statut des instances des autres groupes.