How to ensure parallel execution behind parallel gateway?

Hi,
we have a process where we do a lot of AQMP Based communication. We are using camunda as the Orchestration Service for all our Services.

This is an example of how we do this:
grafik

  • Send Message A means, the Service running the Camunda Engine sends an AMQP Message
  • The Message is processed from a different service which will eventually send Message B
  • The camunda running service has a AMQP Listener for Message B and tries to corellate the received Message with the process.

Usually that works quite well. But sometimes the message is received and the process token is not yet at the “Receive Message Task”. This is really bothering us. How can we ensure, that the process token is at the receive task when the Message is received.

Some notes for our process:

  • All our Task are flagged with “Asnychronous Before”
  • The usual processing time of the complete process is around 1-2 seconds

Any help on this issue is greatly apreciated!

cheers
Reinhard

Hi @Reinhard,

You could set the job priority of the Receive Task higher than the priority of the Send Task. This is possible if you have marked it as Async Before. Then you should also set the jobExecutorAcquireByPriority engine configuration to true. This means that the Receive Task will be executed first and the message will be created before you send the message A.

regards,
Dominik

1 Like