Zurück zu den Workflows-FAQs
HILFECENTER · FAQWorkflows1 Min. Lesezeit

Wie verhindere ich, dass ein Workflow dasselbe Triggerereignis doppelt verarbeitet?

Geben Sie jedem eingehenden Ereignis eine stabile Kennung und prüfen Sie vor Nebenwirkungen, ob es bereits verarbeitet wurde. So führen doppelte Zustellung oder manuelle Wiederholung seltener zu wiederholten Datensätzen, Nachrichten oder Aktionen.

Workflows

Ereignisschlüssel und gespeicherten Status verwenden

Eine Quelle kann dasselbe Ereignis nach einem Timeout oder Bestätigungsproblem erneut senden. Speichern Sie einen Idempotenzschlüssel oder Bearbeitungsvermerk dauerhaft, damit spätere Läufe ihn prüfen können.

Markieren Sie ein Ereignis erst nach dem Commit der vorgesehenen Arbeit als abgeschlossen. Bei mehreren Schritten speichern Sie deren Status, damit eine Wiederholung sicher fortsetzen kann, statt ein teilweise verarbeitetes Ereignis als neu zu behandeln.

Gleichzeitige Zustellungen abfangen

Zwei Läufe können dasselbe Ereignis fast gleichzeitig prüfen. Verwenden Sie eindeutige Constraints, atomare Reservierung oder eine vergleichbare Koordination des Datenspeichers, damit nicht beide die Prüfung bestehen.

Testen Sie wiederholte und parallele Zustellung mit einem sicheren Beispiel und prüfen Sie den Endzustand. Bewahren Sie den Schlüssel über das Wiederholungsfenster der Quelle auf, aber nicht die gesamte Nutzlast länger als nötig.

Zurück zu den Workflows-FAQs