Hi,
We are trying to do some performance measurements to Camunda BPMN engine and we have a question regarding the completion of external tasks.
We want to know that when we send “POST /external-task/{id}/complete” to complete a task and receive a rest request complete status, does this mean that the task completion (and variables if exists) is already committed to the database or the database commit is asynchronous which mean we can receive a rest request complete while the commit is threaded and still under processing.
In other words, does the period between send complete request and receive answer on client include the commit time on DB? like this ?:
Yes - thats exactly how it works - you’ll only get a successful response if the commit to the database is successful.
But actually it could be even longer that that - because after the complete is sent it will indeed complete the external task but it may also continue moving the process forward and will only return after transaction boundary has been reached.
So in the below example:
The green link shows a transaction after a complete call is being sent - it would actually return when it reaches the next wait state which in this case is the use task. So the commit to the data base would complete the external task, save whatever the script does AND create a new user task.