Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-8909

Execution of handlers is managed by a thread pool with the java external task client

      Component

      https://github.com/camunda/camunda-external-task-client-java

      User story

      To maximize throughput when processing external tasks, I want to use a thread pool for executing external tasks.

      Background

      Currently, the external task client uses a single thread to fetch and lock tasks. This thread then also calls the external task handler for each task. So while the handler is running, no new tasks are fetched and multiple threads for parallelization are not employed.

      Acceptance Criteria

      • I can provide an instance of java.util.concurrent.Executor when bootstrapping the external task client
      • If no executor is supplied, a single thread executor is used for task execution (so that task handlers need not be thread-safe in this case). In this case when the executor is managed by the client, it must wait for all tasks to complete when it is stopped.
      • The acquisition thread should back off in case the executor is saturated, so that it does not lock all tasks at once while the executor cannot catch up. E.g. exponential backoff can be applied, this can be configurable, also as a Java interface that users can implement.

        This is the controller panel for Smart Panels app

            [CAM-8909] Execution of handlers is managed by a thread pool with the java external task client

            There was a pull request where we already iterated over the topic but couldn't come to an end:
            https://github.com/camunda/camunda-external-task-client-java/pull/4

            Tassilo Weidner added a comment - There was a pull request where we already iterated over the topic but couldn't come to an end: https://github.com/camunda/camunda-external-task-client-java/pull/4

            This ticket was migrated to github: https://github.com/camunda/camunda-bpm-platform/issues/2165. Please use this link for any future references and continue any discussion there.

            Thorben Lindhauer added a comment - This ticket was migrated to github: https://github.com/camunda/camunda-bpm-platform/issues/2165 . Please use this link for any future references and continue any discussion there.

              Unassigned Unassigned
              tassilo.weidner Tassilo Weidner
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: