Reputation: 343
I'm facing Camunda concurrency issues while performing the concurrent operation. In case of multiple requests, when we are setting variables of one service task having multiple instances and in another service task, we are getting partial data. But while requesting one at a time isn’t causing any issue while getting Camund variable in any service task.
This below is our use case: We are using rabbitMQ for messaging.
1. Message Received: Consume the messages from the queue and setting all the variables of Camunda while starting the Process Engine.
Note : Concurrency of rabbitMQ consumer is 5.
2. Task 1: This service task is not getting all variables when we produce multiple requests to the rabbitMQ producer even though rabbitMQ consumers consume concurrent 5 requests at a time but Camunda isn’t able to fetch all those variables as per concurrent requests.
Note: One request at a time is fetching all data from Camunda variables.
3. Task 3: The Same issue happing in Task 2 as well.
This behavior is random, sometimes in task 1 or task 2 or sometimes works fine.
Upvotes: 0
Views: 477
Reputation: 1
If I understand correctly, some event is creating queued items from rabbitMQ and this one in turn starts processes in Camunda. If this is the case, consider using the event that creates item in the rabbitMQ queue to create the direct process in Camunda via RestAPI. Consider using External Task on task 1 of your process, so Camunda would do the orchestration and queue function at the same time, eliminating the need to use rabbitMQ.
Upvotes: 0