Welcome to FlowZap, the App to diagram with Speed, Clarity and Control.

Parallel Execution Workflow

patterns

This workflow models multiple tasks that run at the same time.

Full FlowZap Code

user { # User
  n1: circle label:"Start Parallel Execution"
  n5: rectangle label:"Record Parallel Execution outcome"
  n9: diamond label:"Monitor Parallel Execution status"
  n13: circle label:"End Parallel Execution"
  n1.handle(bottom) -> app.n2.handle(top)
  n1.handle(bottom) -> service.n3.handle(top)
  n1.handle(bottom) -> database.n4.handle(top)
  n1.handle(right) -> n5.handle(left)
  n1.handle(bottom) -> app.n6.handle(top)
  n1.handle(bottom) -> service.n7.handle(top)
  n1.handle(bottom) -> database.n8.handle(top)
  n1.handle(bottom) -> app.n10.handle(top)
  n1.handle(bottom) -> service.n11.handle(top)
  n1.handle(bottom) -> database.n12.handle(top)
  n5.handle(right) -> n13.handle(left)
  n9.handle(right) -> n13.handle(left)
  n1.handle(top) -> n9.handle(top)
}

app { # App
  n2: rectangle label:"Receive Parallel Execution event"
  n6: rectangle label:"Monitor Parallel Execution status"
  n10: rectangle label:"Monitor Parallel Execution status"
  n10.handle(right) -> user.n13.handle(bottom)
  n6.handle(right) -> user.n13.handle(bottom)
  n2.handle(right) -> user.n13.handle(bottom)
}

service { # Service
  n3: rectangle label:"Validate Parallel Execution conditions"
  n7: rectangle label:"Monitor Parallel Execution status"
  n11: rectangle label:"Monitor Parallel Execution status"
  n3.handle(right) -> user.n13.handle(bottom)
  n7.handle(right) -> user.n13.handle(bottom)
  n11.handle(right) -> user.n13.handle(bottom)
}

database { # Database
  n4: rectangle label:"Execute Parallel Execution action"
  n8: rectangle label:"Monitor Parallel Execution status"
  n12: rectangle label:"Monitor Parallel Execution status"
  n12.handle(right) -> user.n13.handle(bottom)
  n8.handle(right) -> user.n13.handle(bottom)
  n4.handle(right) -> user.n13.handle(bottom)
}

Related templates