Skip to content
Jan Lolling edited this page Apr 5, 2018 · 5 revisions

Camunda workflow support by Talend

External task are a method for BPMN processes to outsource expensive tasks. These tasks are processed asynchronously. A worker is a program which fetches tasks - process them and send to Camunda the response for every finished task.

A task is actually nothing else then a JSON document containing data which has to be processed or steers the external tasks work.

An example for the work of an external task could be the collecting data in a slow and expensive resource or an update to a massive amount of data based on the information given by the task.

A typical workflow looks like this: Camunda workflow with external tasks This scenario shows 2 topics with 2 workers each. 2 workers have successfully finished their work, one has a technical problem and one has detected a processual problem - perhaps the state of the data does not fit to the expected state in the process.

We have 5 different communications with Camunda to do:

  • Fetching tasks and lock them for the current worker to prevent parallel processing of the same task.
  • When finished the task successfully the worker have to complete the task.
  • When detecting a technical problem the worker have to send a message about the failure.
  • When detecting a business problem the worker have to send a BPMN-Error code to allow the workflow to deal with it.
  • When the worker cannot handle a task and want to give it back, the worker needs to simply unlock the task.
Clone this wiki locally