ernesto.d...@gmail.com
unread,Feb 11, 2016, 11:03:12 AM2/11/16Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to camunda BPM platform contributors
We would like to execute as many camunda instances as possible (with no manual tasks inside). Then we introduced multi-threading to execute several of them in parallel, independently from Camunda and they are running pretty fast, so it was ok. Then, it looks it might happen that (at least) one of our automated tasks
can take quite long, very long (i.e. JMS, WS calls that can take several minutes). Unfortunately, this task will almost determine the whole execution time :((
Our idea is, if possible, to free the Camunda thread that is executing the workflow of the task (that will take long) and allow Camunda to start a new workflow in the freed Camunda thread (something similar to SignallableActivityBehavior interface – if we understood it correctly). For that purpose, in some ways, we outside Camunda should get a callback, notification, etc... to put this execution in a quere and start a new one, etc.
Our question is: can we start processes asynchronously (now we are using startProcessInstanceByKey(), which blocks) and if so, can we get these callback notifications (if Camunda frees a thread, in which the process is still alive, under execution) from the runtime service and then resume it later by id?
Should we solve it with the sender and receiver tasks (in assync calls)?
Of course we will appreciate any best practices.
Thanks in advance!
Ernesto