Orchestrator / Robot - Connection

Hey team,

General question around connections with Orchestrator. Lets say we have items in queue and Orchestrator is assigning work to bots. Bot takes 5 min to complete the work. Orchestrator gives work out and 2 min into it it crashes - hard down. Server issue. No, there is no replication (only one Orchestrator in PROD)

  1. Will robot finish it’s work before it realizes orchestrator is not available. (No it does not need any assets from Orchestrator)
  2. If it does continue, where will log files be logged. Will it push the logs once Orchestrator becomes available?
  3. If it stops, will it continue once Orchestrator is back?

What is the general behavior? Have you experienced any other infra related issues in PROD that I should be prepared for?

Sooo many questions! :slight_smile:

I don’t know if I have a good answer for this because, from my experience, Orchestrator has always just stopped the process and not kept it pending when a robot dies during it. You might need to build in a mechanism that will continue with where it left off at. By that I mean, you can look at files that were created or look at your own logging that is done during the process, or something that tells you a transaction task has already been complete. However, that isn’t the best solution when needing to run the process over again after it was stopped, other than doing it manually or scheduling in multiple runs to counter the potential server failures.

Clayton - my question is vice-versa … robot is good and it has not stopped, Orchestrator stopped instead.

Just say if its a network issue, the robot will log the connectivity exception in the eventlog with the message it was tried to post to orchestrator. The similar behavior I can expect when the orchestrator goes down.
I don’t experience any retry for the failure message by robot. If your process continuously running once orcehstrator is up it will log the message. In some condition robot itself crash when it is not able to establish the connection with orchestrator.

You can find the logs in eventviewer / uipath logs folder during this exception in robot machine.

1 Like

Thanks @balramrv!

So based on that, if robot does not require connection it will continue processing whatever it needed to do, and as soon as it needs the connection to Orchestrator it will throw an exception … which if not handled correctly will stop the bot … which means it will not finish the work.

Yes you are correct (depends on how frequent your process logs the information), you also aware BoT sends the heartbeat to know the aliveness. so it can crash during this communication as well. I believe in the latest version BoT it’s rigid enough to maintain its state during this condition.

So, Orchestrator down, robot still working

  1. Robot will finish work as long as it is not calling the Orchestrator (GetTransactionItem, Get Asset, etc)
  2. The job/transaction will appear on Orchestrator as failed/abandoned and needs to be manually checed
  3. You should check the local robot logs
    If Orchestrator is back the logs will be send at restart on the server too
  4. Anyway this is not a real production scenario. Back there Orchestrator is not allowed to fail :slight_smile:
2 Likes

Thanks @badita, you find me a place where servers don’t fail in production I will go work for them! :slight_smile:

2 Likes

Hope is not to often :slight_smile:

2 Likes