Signaux - 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.

Signaux

Les signaux vous permettent d'injecter des informations dans une exécution de flux de travail en cours. Dans certains scénarios, vous souhaitez parfois ajouter des informations à une exécution de flux de travail en cours d'exécution pour l'informer que quelque chose a changé ou pour l'informer d'un événement externe. N'importe quel processus peut envoyer un signal à une exécution de flux de travail ouverte. Par exemple, une exécution de flux de travail peut en signaler une autre.

Pour utiliser les signaux, définissez le nom et les données de signal à transmettre au signal le cas échéant. Ensuite, programmez le décideur pour qu'il reconnaisse cet événement de signal (WorkflowExecutionSignaled) dans l'historique et pour qu'il le traite de façon appropriée. Lorsqu'un processus souhaite signaler une exécution de flux de travail, il appelle Amazon SWF (à l'aide duSignalWorkflowExecution Signalou, dans le cas d'un décideur, en utilisant leSignalExternalWorkflowExecution Signaldécision) qui spécifie l'identifiant de l'exécution du flux de travail cible, le nom du signal et les données du signal. Amazon SWF reçoit ensuite le signal, l'enregistre dans l'historique de l'exécution du flux de travail cible et planifie une tâche de décision pour celui-ci. Lorsque le décideur reçoit la tâche de la décision, il reçoit également le signal dans l'historique d'exécution du flux de travail. Le décideur peut ensuite effectuer les actions appropriées en fonction du signal et de ses données.

Voici certains scénarios où des signaux peuvent être utilisés :

  • Suspension de la progression des exécutions de flux de travail tant qu'un signal n'a pas été reçu (attente d'une expédition d'inventaire, par exemple).

  • Envoi d'informations susceptibles d'avoir une incidence sur la logique de décision des décideurs à une exécution de flux de travail. Ce signal est utile pour les flux de travail soumis à des événements externes (tentative de finalisation de la vente d'une action après la fermeture de la Bourse, par exemple).

  • Mise à jour d'une exécution de flux de travail lorsque vous anticipez des modifications éventuelles (modification de la quantité d'une commande après l'enregistrement de la commande et avant son envoi).

Dans les cas où un flux de travail doit être annulé( par exemple, la commande elle-même a été annulée par le client), laRequestCancelWorkflowExecutionaction doit être utilisée plutôt que d'envoyer un signal au flux de travail.