The taskProcessor implements the parallelization of tasks. It provides some methods to schedule a task based on a dataRef and context information such as the StateTasks to be executed and the information on the workflow. This information is captured in the FlowProcessingContext, which extends the standard ProcessingContext.
StateTask has been extended with a ‘maxConcurrentTasks’ field that configures the maximum number of tasks that can be executed simultaneously by 1 engine.
The workflow component contains a class ‘ParallelTaskProcessor’ that implement the parallel execution of tasks.
TaskProcessor schedules tasks to be executed so that a maximum number of tasks is run simultaneously: