Usage of parallel gateway


I am new to camunda. I have a question. I was reading the documentation regarding Parallel Gateway. Do we have to join parallel tasks after we split them? Please see this example below. Can we eat meals one by one using a parallel gateway or do we have to eat them at once?

@Amir13 This tutorial might help you understanding this use case.

Eat meal action is “(Pasta or Steak) and Salad”. Salad preparation just takes 10 mins and pasta takes 15 minutes to cook. So salad will get finished before pasta is cooked. By synchronizing the preparations, you can eat at once.

Tbh this is not a Camunda specific question but more a BPMN question. with the parallel gateway you split the moving token to x number of tokens (depending on how many parallels you have), these tokens will run undependant of each other, in your example you’ll “eat meal” as many times as you have parallel paths and if that definetly is the last task in the process then sure it could work.
BUT this is considered a bad pattern, if you split your token you want to collect it again. every task you would add after “eat meal” would be (in your example) run twice.

Thanks @aravindhrs and @JarlSeverin.

Looks like it is not useful if the requirement is to process them one by one after the split, right? After parallel gateway, I see multiple parallel processes in Cockpit but I have one process instance id. Is there a way to communicate with these multiple executions one by one? Or do I need to use another component like subprocess or call activity? Let’s say I trigger the creation of a 5-page pdf document. At some point, I can review them all at once or I can review them one by one. For a one-by-one review case, it may not work well.