Automated resetting hung robot

We have cases where our remote robots running from Orchestrator have a problem on the remote machine and something goes wrong, but the workflow remains running. We can tell by our log files in our database that our workflow has problems due to various data conditions (or lack of) and heartbeat updates that stop. We can also tell that the robot shows as still running in Orchestrator. When we find this condition we set a flag in our database that tells us that “Robot A” needs to be reset. As a result of this we want a workflow or .BAT file to be able to run on that remote robot (Robot A) and “reset” it. We have already built a workflow to “kill” all of our known processes on that remote machine and have figured out how to stop and start the robot so it will effectively reset. What we are trying to do is to run this “cleaner” workflow on the remote robot that is hung up in an automated manner. But we can’t get any process to run as the robot still shows the prior workflow running in Orchestrator.

Is anyone doing this, or something similar? I would to hear ideas from the community on how you are handling “hung” remote workflows which appear to be ok from the Orchestrator side.

You won’t be able to run a reset process if the running process is hung up.

You could have one robot whose sole job is to watch the other robots for signs of being hung up and restart them. We don’t like doing this because it consumes an entire robot machine.

You could also have a non-uipath process running on each machine that checks for signs of being hung up and restarts the bot through the ochestrator api if it finds the bot has stopped. For example, we have a simple c# program that runs on some of our robot machines and makes api calls to restart the process if it detects that they have stopped.

Daniel, thanks for the reply. We are in sync with your comments, and are building a java stub program to be able to reset the robot based on our existing known condition in the DB.