Orchestrator Schedule Starts Job When Job is Already Running or In Progress

We have a job that is supposed to begin every 15 minutes. It processes all of the files in a network folder and then stops. It waits until the next scheduled start time to begin again. Sometimes when the bot is still processing the files in the network folder at the same time as the next scheduled start time, it tries to start a new job and it causes both jobs to fail. The second job should not start if the job is already running. Because it tries to start a new job, it interferes with the job that’s still running. After that happens, it will not successfully start a new job unless we kill both jobs that are trying to run at the same time. Has anyone else experienced this?


I think your options are:

  1. Use a specific robot for the schedule so it goes to Pending when the robot is being used by previous job. (not ideal if you have other unrelated jobs that choose that robot)
  2. Develop your project to handle multiple processes at the same time. For example, one way to do this is to use an Asset so each job can read this Asset and know that the files are already being processed by another job (since 2 jobs can run at same time, you will need more advanced logic, so only one job can update the Asset at one time, like another Asset). Another way might be to move the file or log it somewhere so the next job can see that the file is not there or has already been processed and skips it. - Multiple jobs at the same time should be able to efficiently process all items that has not been completed already.
  3. Use the Queues, where a job picks an item from the Queue that is not being processed already.

I hope these ideas help. Queues potentially could be the best option, but there is a learning curve there if you have never used them before.


Is this still the case? I am curios to why the ROBOT doesn’t automatically stay put if a process is already running? Its the same BOT that doing both work.