Error Retry Loop Workflow
patterns
This workflow models a failed operation that retries with backoff.
Full FlowZap Code
Client { # Client
n1: circle label:"Start Transaction"
n2: rectangle label:"Attempt Payment"
n5: circle label:"Payment Success"
n1.handle(right) -> n2.handle(left)
n2.handle(bottom) -> Server.n3.handle(top) [label="Submit"]
n2.handle(right) -> n5.handle(left) [label="Authorized"]
}
Server { # Server
n3: rectangle label:"Process Payment"
n4: diamond label:"Authorized?"
n3.handle(right) -> n4.handle(left)
n4.handle(right) -> Client.n5.handle(bottom) [label="Approved"]
n4.handle(top) -> Client.n2.handle(bottom) [label="Decline/Retry"]
loop [Retry until approved] n2 n3 n4
}
Related templates
Callback Pattern Workflow
patterns
This workflow models an async operation that notifies a callback when done.
Compensation Transaction Workflow
patterns
This workflow models rolling back work when a later step fails.
Nested Decisions Workflow
patterns
This workflow models multiple layers of decisions before completion.