错误重试循环工作流
patterns
此工作流对失败的操作进行带退避的重试。
完整 FlowZap 代码
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
}