We are exploring ways to maximize our machine or robot utilization using triggering with dynamic allocation. This means that any production machine can run any of the processes we deploy as soon as it triggers, instead of waiting for a specific machine to become available.
However, sometimes we need to access certain production machines for maintenance or other purposes. This raises a concern: do we need to take down all the other machines or disable all the triggers to access one of the machines?
For example, if we have 10 robots or machines and we need to access the machine 1 for a few minutes, do we need to disable all the triggers so that no processes start on that machine? This would affect all the other machines as well, since we only create one trigger for a process with dynamic allocation.
Alternatively, is there a method to disable only the triggering of a specific robot (without disabling the trigger) until maintenance is completed?
As per my understanding, it is possible to disable triggering for a specific machine without affecting the other machines or disabling the trigger altogether.
One way to do this is by using the Orchestrator API to disable the machine’s connection. This can be achieved by sending a PUT request to the Orchestrator API with the machine key and the connection status set to disabled.
The solution provided is the go to, however there is a problem due to the fact that you can’t deactivate a VM while it has running processes. You need to sit and watch when the machine is not in use by any process and then to deactivate it. This is a major impediment since the Orchestrator will automatically allocate another pending process to that machine and this is happening before you will be able to deactivate the machine.
Can you ask if this functionality can be changed to be activated while a process is running and to not allow additional work to be performed?