Orchestrator API start jobs on 1 robot in environment

Hi all,

We have a setup with multiple robots being able to run several different jobs on same machines (not at the same time :slight_smile: ). So, we have allocated a process to an environment with e.g. 3 robots registered. However, we wish only to run on 1 (random) robot at a time. Given that 3 robots are registered in the environment, we want to run on one of the ‘available’ robots. Let say that robot 1 is running another job, then we want our job to run on robot 2 or 3 (if they are available).

We are using the ochestartor API Start Jobs, but this only accepts NumberOfRobots = 0 (meaning all). In this case the call will start a job on each of the 3 machines in the environment (i.e. 3 jobs in total), however, we only want it to start on 1 machine (i.e. 1 job in total).

Any ideas on how to solve this?

Thanks in advance!

1 Like

If you’re concerned about only one robot actually processing the data, you could put a few activities at beginning of the workflow:

assign var: MachineName = Environment.MachineName
flow decision/If: ( MachineName = Environment.MachineName, proceed, nothing )

This will only allow one robot to perform the process but would still tie up the other available robots until the job is complete. Would this help?

1 Like