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

Start at most one UiPath job when one ExternalTask is locked

XMLWordPrintable

      For a given bot name (UiPath orchestator: package), we fetch all known releases (UiPath Orchestrator: processes, i.e. combination of execution environment and package in a specific version) from UiPath and potentially start a job for every one of them.

      Code: https://github.com/camunda/camunda-bpm-rpa-bridge/blob/0424d253cd6064ca27de14588a678408e1a6b93c/src/main/java/org/camunda/bpm/rpa/bridge/rest/uipath/UiPathRestService.java#L51

      This could lead to multiple issues, one of them being very complex error/success handling (i.e. When is the external task done? When all UiPath jobs are done? Is an external task failing if one of the jobs is failing?).

      AT

      • Ensure that for a given bot name we only start (at most) one job in UiPath.
      • We have a documented strategy how we pick a release in case multiple releases share the same process key (e.g. latest version or random)

      Hints

      • We could keep the "get all releases and start jobs on them" mechanism but would have to choose one of them
        • potential issue: we might always trigger the same process (i.e. environment) which is bad load balancing
      • We could investigate if we could start a job with the given bot name (a.k.a package) only, supplying that we want to start only 1 job
        • potential gain: let UiPath do the load balancing
        • potential issue: might not be possible via their API

        This is the controller panel for Smart Panels app

              miklas.boskamp Miklas Boskamp
              tobias.metzke Tobias Metzke-Bernstein
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: