Ok, I thought the following workaround…
- Create your two Robots.
- Create a schedule to run your process at 10 PM (Robot A which is related to machine A)
- Create a schedule to run the same process at 10:05 PM (Robot B which is related to machine B)
- Create a string Asset in Orchestrator. It will store the last execution of your process.
- Modify your automation…
a) At the very beginning of automation you will use a Get Asset activity to read your new Asset value.
b) Convert it to DateTime
c) Use an if activity to check if it’s equal to today
d) If it is not, use a set Asset activity to assign new value to the Asset (DateTime.Today.toString). Also, the process will follow the remaining steps
e) If it is equal to today, you don’t do anything. And also, it doesn’t follow the remaining steps.
How does it work?
At 10 PM Robot A will try to run the process. If machine is available it will run and set last execution date.
At 10:05 (example), Robot B will try to run the process, but it checks last execution date is equal to today, so it doesn’t do anything else.
Now, thinking the other scenario where Robot A is unavailable at 10 PM. At 10:05 PM, Robot B will run and check if there was an execution today. In this case, as today’s date has not yet been assigned to Asset, execution will proceed as normal.
Let me know if it helps you.