Triggering of same event multiple times to Orchestrator to start job

Hi everyone,

I have a frontend portal which helps send an API call to UiPath Orchestrator to trigger a job (to trigger one process) for an unattended robot. If multiple API calls are triggered at the same time:

  1. Will there be multiple jobs triggered for the same robot? Meaning to say that the first API call will trigger the job to be running while the other API calls will trigger the same job to be in pending state

or

  1. Will there only be one job triggered? Should it be this case, is there any workaround to queue the same job multiple times?

Thanks.

If you trigger the multiple jobs uing the same bot, the first one will start executing and automatically, the later ones will be added to the queue with the state as pending @Gluon

Thanks @HareeshMR

@Gluon
Orchestrator won’t queue multiple copies of the currently active job. If Process1 is running, then you can queue Process1, Process2, Process3, etc. but you cannot queue Process1, Process1, Process1.

2 Likes

Thanks @DanielMitchell, I mean the same in the above post, but some typo. I just edited the post. Thanks for the correction

1 Like

that was what i was wondering too, would you be able to provide any workaround this?

@Gluon
You could store a list of pending jobs somewhere and only send the start command if the robot is free. You can use the Orchestrator api to see if a bot is busy at any given time. If it is busy then store the job info in a database or in an Orchestrator queue.

Thanks for your reply. Correct me if i am wrong, I wanted to create a new job every time the API is called so that the same process can be queued but i am unable to find an API to create job.

I understand that an intermediate entity is required between the events and the orchestrator (perhaps as you mentioned, storing of the data in a queue or database).
I guess there’s no workaround which disposes the need for one…

@Gluon
There’s a start job API endpoint, but you’re correct there is no endpoint to create a job without starting it.