Retour aux FAQ Workflows
CENTRE D’AIDE · FAQWorkflows1 min de lecture

Comment éviter qu’un workflow traite deux fois le même événement ?

Concevez le traitement pour tolérer les livraisons en double au lieu de supposer une livraison exactement une fois. Un identifiant stable, un état durable et un résultat idempotent permettent de détecter les répétitions sans répéter les effets externes.

Workflows

Choisir une clé de déduplication

Utilisez l’identifiant source s’il est unique et stable ; sinon, dérivez une clé de champs définissant le même événement métier. Évitez l’heure seule ou un identifiant d’entité trop large, qui peut manquer des doublons ou fusionner des mises à jour distinctes.

Enregistrez clé et état de traitement de façon atomique avec le résultat métier si le stockage le permet. Définissez la durée de conservation selon les retards et fenêtres de rejeu possibles.

Sécuriser les nouvelles tentatives

Avant un message, paiement ou changement externe, vérifiez si l’effet a déjà eu lieu ou utilisez l’idempotence de destination. Un redémarrage doit pouvoir reprendre depuis l’avancement enregistré.

Testez doublons, retards et désordre, y compris deux travailleurs traitant simultanément le même événement. Surveillez détections et rejets pour qu’une mauvaise clé n’écarte pas silencieusement du travail légitime.

Retour aux FAQ Workflows