Un nœud SUB_PROCESS est un type de tâche spécial permettant de référencer un autre workflow. Cette approche est idéale pour décomposer des processus complexes en sous-workflows plus petits et gérables, définis et gérés indépendamment pour améliorer la maintenabilité et la réutilisabilité.
Contexte
Vous pouvez imbriquer des workflows à l'aide d'un nœud SUB_PROCESS. Un workflow référencé ne nécessite pas ses propres paramètres de tâche planifiée ni de relation de dépendance. Le workflow référençant contrôle son exécution.
Moment d'exécution : un workflow défini comme Référençable s'exécute uniquement lorsqu'un autre workflow le référence.
-
Heure d'exécution : un workflow défini comme Référençable s'exécute selon l'heure d'exécution du workflow référençant.
Dans une structure imbriquée à plusieurs niveaux, le système de planification démarre l'exécution depuis le niveau de référence le plus profond (par exemple, le quatrième niveau dans le schéma de gauche). Lors de l'exécution, si le système détecte un nœud SUB_PROCESS dans le workflow actuel, il déclenche de manière synchrone le workflow référencé. Par exemple, comme illustré dans le schéma de gauche, Workflow-E contient un nœud SUB_PROCESS qui référence Workflow-D. Par conséquent, lorsque Workflow-E s'exécute, il déclenche de manière synchrone Workflow-D.
-
Nombre d'exécutions : un workflow défini comme Référençable s'exécute une fois pour chaque référence qui lui est faite.
Si un workflow contient plusieurs nœuds SUB_PROCESS qui référencent le même workflow cible, ce dernier s'exécute une fois pour chaque référence.
Selon vos besoins métier, vous pouvez construire une structure de référence linéaire simple, comme illustré dans le schéma de gauche, ou concevoir une hiérarchie plus complexe à plusieurs branches permettant une exécution parallèle, comme illustré dans le schéma de droite. Chaque structure répond à des cas d'utilisation spécifiques. Choisissez celle qui correspond le mieux à votre processus métier :
Schéma de gauche : ce schéma présente une hiérarchie de workflow linéaire où chaque workflow dépend du précédent et le référence via un nœud SUB_PROCESS interne. Par exemple, Workflow-E référence Workflow-D, qui référence à son tour un autre workflow, et ainsi de suite, jusqu'à ce que Workflow-B référence Workflow-A.
Schéma de droite : ce schéma illustre une hiérarchie de workflow complexe où un seul workflow peut être référencé par plusieurs workflows via leurs nœuds SUB_PROCESS internes. Par exemple, Workflow-A est référencé à la fois par Workflow-B1 et Workflow-B2.
Prérequis
Vous disposez d'un espace de travail avec l'option Use Data Studio (New Version) activée et un groupe de ressources associé. Pour plus d'informations, consultez la rubrique Créer un espace de travail.
Limites
Lorsque vous utilisez des nœuds SUB_PROCESS pour une imbrication à plusieurs niveaux, la profondeur d'imbrication maximale est de 5 niveaux (workflow racine inclus) et le nombre total de workflows ne peut pas dépasser 200.
La référence de workflow créée par un nœud SUB_PROCESS constitue une relation de déclenchement, et non une relation de dépendance amont ou aval. Lorsqu'un nœud SUB_PROCESS est détecté dans un workflow, il déclenche l'exécution du workflow référencé.
Pour un workflow déclenché par une référence, les valeurs de ses paramètres de planification dépendent de l'heure planifiée du workflow déclencheur.
Une fois qu'un workflow est défini comme Référençable, ni le workflow ni ses nœuds internes ne peuvent dépendre de tâches externes au workflow, ni être dépendants de tâches externes, y compris le nœud racine de l'espace de travail.
Configurer les workflows
Cette rubrique explique comment utiliser un nœud SUB_PROCESS pour référencer un workflow existant. Les étapes suivantes présentent un exemple dans lequel le workflow Workflow2 référence le workflow Workflow1.
Workflow 1 : Activer l'option Référençable
Pour rendre un workflow référençable, vous devez supprimer ses dépendances amont et aval. Un workflow défini comme Référençable ne peut pas être planifié pour s'exécuter de manière autonome. Suivez les étapes ci-dessous pour activer l'option Référençable d'un workflow. Nous vous recommandons de créer un nouveau workflow pour tester cette fonctionnalité.
Suivez les étapes ci-dessous pour créer un workflow référençable Workflow1 et activer l'option Référençable pour le workflow Workflow1.
-
Créez un workflow
Workflow1.Accédez à la page Workspaces de la console DataWorks. Dans la barre de navigation supérieure, sélectionnez la région souhaitée. Localisez l'espace de travail désiré et choisissez dans la colonne Actions.
Dans le volet de navigation de gauche, cliquez sur
. À droite de Project Directory, cliquez sur . Définissez un nom pour le workflow, enregistrez-le, puis l'éditeur de workflow s'ouvre.
-
Activez l'option Référençable.
Accédez à la page d'édition du workflow
Workflow1, cliquez sur General à droite de la page et, dans la boîte de dialogue de configuration des propriétés, activez l'option Can be cited.RemarqueUne fois la capacité Référençable activée, le workflow actuel peut être référencé par d'autres workflows à l'aide d'un nœud SUB_PROCESS. Vous n'avez pas besoin de configurer l'heure de planification, les dépendances de planification ou d'autres propriétés similaires.
Une fois la capacité Référençable activée, ni le workflow lui-même ni ses nœuds internes ne peuvent dépendre de tâches externes au workflow, ni être dépendants de tâches externes. Cela inclut le nœud racine de l'espace de travail.
Workflow 2 : Référencer le Workflow 1
Créez un nœud SUB_PROCESS dans le workflow Workflow2 pour référencer le workflow Workflow1.
Créez le workflow
Workflow2. Pour plus d'informations, consultez la rubrique Orchestration de workflow planifié.-
Créez un nœud
SUB_PROCESS.Cliquez sur le workflow
Workflow2que vous avez créé pour ouvrir la page d'édition du workflow. Faites glisser le nœud SUB_PROCESS depuis la section Logical Node vers le canevas. -
Configurez le workflow référencé.
Dans la boîte de dialogue Create Node, définissez l'option Reference Workflow sur Select existing. Dans la liste déroulante située sous Select existing, sélectionnez le workflow que vous souhaitez référencer,
Workflow1. Pour le Node Name, vous pouvez utiliser le nom généré par le système ou saisir un nom personnalisé. Cliquez sur Confirm pour finaliser la référence.RemarqueSi vous devez référencer un workflow Create, vous pouvez saisir un Workflow Name personnalisé et cliquer sur Confirm pour finaliser la référence.
Après avoir confirmé la référence à un nouveau workflow, vous pouvez survoler le nœud SUB_PROCESS et cliquer sur Open Reference Workflow. Dans l'invite qui s'affiche, cliquez sur Save and Open pour ouvrir l'éditeur du nouveau workflow.
Sur la page de l'éditeur du workflow référencé nouvellement créé, l'option Can be cited dans le panneau General à droite est activée par défaut.
-
Enregistrez et affichez les détails de la référence.
Accédez à la page d'édition du workflow
Workflow2, cliquez sur Save en haut de la page et, sur la page CHANGE CHECK, confirmez l'enregistrement via Save.RemarqueUne fois l'option Référençable activée pour un workflow, celui-ci peut être référencé par plusieurs workflows. Vous pouvez afficher le nombre de références dans le panneau General situé à droite de la page du workflow référencé. Cliquez sur View Details pour plus d'informations.
Étapes suivantes
Une fois la référence de workflow configurée, publiez le workflow pour qu'il s'exécute périodiquement et utilisez la fonctionnalité Data Backfill pour surveiller son statut.
-
Configurez la planification.
Si une tâche de workflow doit s'exécuter périodiquement, configurez d'abord ses propriétés de planification. Pour plus d'informations, consultez la rubrique Configurer les propriétés de planification d'un nœud.
-
Publiez la tâche de workflow.
Un workflow doit être publié dans l'environnement de production pour être automatiquement planifié. Pour plus d'informations, consultez la rubrique Orchestration de workflow planifié.
ImportantLorsque vous publiez
Workflow2, qui contient le nœudSUB_PROCESS, vous devez d'abord publierWorkflow1, le workflow référencé par le nœudSUB_PROCESS. Sinon, la publication échouera. -
Exécutez et vérifiez la tâche de workflow.
Après avoir publié la tâche de workflow, utilisez la fonctionnalité Data Backfill dans Operation Center pour vérifier le statut de l'exécution planifiée. Pour plus d'informations, consultez la rubrique Prise en main d'Operation Center.
Localisez le nœud SUB_PROCESS en cours d'exécution, faites un clic droit dessus et sélectionnez View Tasks That Reference Workflow pour afficher directement le statut d'exécution de toutes les tâches de nœuds internes au sein du workflow référencé.
> Create Workflow