Flux de travail enfants - Amazon Simple Workflow Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Flux de travail enfants

Les flux de travail complexes peuvent être divisés en composants plus petits, plus faciles à gérer et éventuellement réutilisables avec les flux de travail enfants. Un flux de travail enfant est une exécution de flux de travail initiée par une autre exécution de flux de travail (parent). Pour lancer un flux de travail enfant, le décideur du flux de travail parent utilise la décision StartChildWorkflowExecution. Les données d'entrée spécifiées avec cette décision sont mises à disposition du flux de travail enfant par le biais de son historique.

Les attributs de laStartChildWorkflowExecution décision spécifient également la politique enfant, c'est-à-dire la manière dont Amazon SWF doit gérer la situation dans laquelle l'exécution du flux de travail parent se termine avant l'exécution du flux de travail enfant. Trois valeurs sont possibles :

  • RÉSILIER : Amazon SWF mettra fin aux exécutions des enfants.

  • REQUEST_CANCEL : Amazon SWF tentera d'annuler l'exécution de l'enfant en plaçant unWorkflowExecutionCancelRequested événement dans l'historique d'exécution du flux de travail de l'enfant.

  • ABANDON : Amazon SWF ne prendra aucune mesure ; les exécutions d'enfants continueront de s'exécuter.

Une fois lancée, l'exécution du flux de travail enfant fonctionne comme une exécution habituelle. Une fois le processus terminé, Amazon SWF enregistre l'achèvement, ainsi que ses résultats, dans l'historique du flux de travail du flux de travail parent. Voici des exemples de flux de travail enfants :

  • Flux de travail enfant de traitement de carte de crédit utilisé par les flux de travail de différents sites Web

  • Flux de travail enfant qui vérifie l'adresse e-mail du client, qui contrôle que ce dernier ne s'est pas désinscrit de la liste de diffusion, qui envoie l'e-mail et qui s'assure qu'il a été remis ou qu'il n'a pas échoué.

  • Flux de travail enfant de récupération et de stockage de base de données, qui combine la connexion, la configuration, la transaction et la vérification.

  • Flux de travail enfant de compilation du code source, qui combine le développement, la création de paquets et la vérification.

Dans notre exemple de commerce en ligne, il peut être utile d'inclure l'activité de débit de la carte de crédit dans un flux de travail enfant. Pour ce faire, vous pouvez enregistrer un nouveau flux de travail de vérification du client, enregistrer les activités de vérification de l'adresse du client et de contrôle dans la base de données des fraudes, puis définir la logique de coordination des tâches. Puis, un décideur du flux de travail de commande client peut initier un flux de travail enfant de vérification du client en planifiant la décision StartChildWorkflowExecution qui spécifie ce type de flux de travail.

La figure suivante illustre un flux de travail de commande client, qui inclut un nouveau flux de travail enfant de vérification, lequel contrôle l'adresse du client, ainsi que la base de données des fraudes, puis débite la carte de crédit.


               Diagramme du flux de travail enfant

Plusieurs flux de travail peuvent créer des exécutions de flux de travail enfants à l'aide du même type de flux de travail. Par exemple, le flux de travail enfant de vérification du client peut également être utilisé dans d'autres sections d'une entreprise. Les événements d'un flux de travail enfant figurent dans son propre historique, et non pas dans celui du flux de travail parent.

Comme les flux de travail enfants ne sont que des exécutions de flux de travail initiées par un décideur, ils peuvent également être lancés comme des exécutions de flux de travail autonomes standard.