Common patterns
Waiting for a reply
Wait for a message, or for whichever comes first, a reply or a deadline.
Wait for the reply
A receive task, or a message catch event, waits on the path until the message arrives. With pools, show who the message comes from:
process Quote request
pool Supplier (below)
start Parts needed
send Ask for a quote
=> Supplier: Quote request
receive Receive quote
<= Supplier: Quote
user Compare quote
end Quote reviewedWait for whichever comes first
An event-based gateway (eventgw) waits, and the first event to happen picks the path. Its arrows must lead to catch events or receive tasks:
process Invoice payment
start Invoice sent
eventgw #wait
-> Payment received
-> Payment overdue
catch:message Payment received
end Invoice paid
catch:timer(P30D) Payment overdue
send Send payment reminder
end Reminder sentWhat to notice
- The wait is a step on the flow. Messages to and from a pool don't connect steps on their own; the process still needs its own flow from start to end.
- Each path out of the
eventgwstarts with something that waits: a message, a timer or a receive task. - For a reminder that doesn't stop the wait, put a non-interrupting timer on the receive task instead. See Deadlines and reminders.