- Getting started
- Understanding UiPath Robot
- UiPath Assistant
- Installation requirements
- Installing robots for unattended automations
- Configuring robots for unattended automations
- Deploying unattended automations
- Connecting robots for unattended automations to Orchestrator
- Setting up Windows Server for high-density robots
- Redirecting robots through a proxy server
- Implementing authentication
- Adjusting registry settings for execution in minimized RDP windows
- Using network locations
- Setting up Linux robots
- Configuring package signature verification
- Setting up package folders and network paths
- Configuring activity feeds
- Installing robots for attended automations
- Configuring robots for attended automations
- Integrations
- Troubleshooting
Robot Executor
UiPath.Executor.exe
.
During an automation lifecycle, the Executor represents the execution stage:
-
Design stage—Once an automation workflow is designed and created in Studio, it is then published to Orchestrator.
-
Orchestrator stage—The Orchestrator is the component that manages, controls, and logs the operations executed by the robots. Here, you can schedule a job or run it on-demand.
-
Execution stage—When a task is scheduled or triggered, Orchestrator sends a command to the Robot Service. The Robot Service then starts instances of UiPath Executor to run the automation task. Each instance operates in an isolated session, ensuring that if one task fails, the others remain unaffected.
-
Post-execution stage—When the task is completed, Executor instances are terminated, and the results are sent back to the Orchestrator. Details such as execution time, status (success or failure), and any exceptions are logged and can be analyzed for troubleshooting or process improvement.
Some of the Executor capabilities include:
-
Executing local or remote tasks—UiPath Executor can execute tasks both in the local device where the Robot Service is installed, or it can connect to other devices remotely and execute tasks there.
-
Running jobs concurrently—The Executor is capable of performing multiple automations at the same time, each one operating as an independent session.
-
Load balancing and task prioritization—Together with UiPath Orchestrator, the Executor can help balance automation loads across multiple robots and prioritize tasks based on predefined rules.
-
Maintaining workflow isolation—Each execution in the Executor is isolated, implying that error or failure in one job does not impact the performance of the rest.
The Executor adjusts to different DPI settings, enabling workflows to run on any resolution. If some applications cannot handle DPI, you can disable this particular feature.
Based on the automation project, the robot service launches the relevant executor type intended to execute the automation. The following tables summarizes the project types an executor can run, based on the used target framework.
Project/Executor type |
Architecture |
Supported OS |
Framework used |
---|---|---|---|
Windows - Legacy |
32-bit |
Windows (x64 and x86) |
.NET Framework 4.6.1 |
Windows |
64-bit |
Windows x64 |
.NET 8 with Windows support (.NET Core - Windows) |
Cross-platform |
64-bit |
Windows, Linux, MacOS (64-bit) |
.NET 8 with cross-platform support (.NET Core) |
Each row in the table represents a different executor type, showing how it is configured to run projects based on the specific requirements of the project type, the target operating system, and the .NET framework version used. This information helps understand which executor is appropriate for each project, ensuring compatibility with the target environment and leveraging the relevant framework capabilities.
UIPATH_HEADLESS_WITH_USER
, which you can configure depending on the type of user that runs the automation, and the version of the Robot installed on
your machine.
UIPATH_HEADLESS_WITH_USER
should either be False
or not set at all.
When the user running the automation has credentials specified in Orchestrator, there are three scenarios you should consider:
-
For any version of Robot running background automations, the
UIPATH_HEADLESS_WITH_USER
setting should beTrue
. -
For any version of Robot running foreground automations, there should be no
UIPATH_HEADLESS_WITH_USER
variable set. -
For both foreground and background automations that use Robot version 2021.4 or older, there should be no
UIPATH_HEADLESS_WITH_USER
variable set.
User type |
Automation type |
UIPATH_HEADLESS_WITH_USER setting
|
The robot version that uses this configuration |
---|---|---|---|
Local system user |
Background |
False or null
|
2021.10 and newer |
User configured in Orchestrator |
Background |
|
All versions |
Foreground |
No need for a variable |
All versions | |
Any |
No need for a variable |
2021.4 and older |
Usually, each process requires time to load the required workflow, packages, and libraries into memory before it can start processing. In a preloaded setup, those dependencies are already loaded into memory, in dedicated execution slots. A preloaded executor is enabled by default.
Here are some key details about the preloaded executor:
-
Faster execution: By preloading the process, your robots can start working on their tasks much quicker.
-
Resource utilization: With a preloaded executor, robots consume fewer resources by already having the required workflows loaded in memory.
-
Availability: Preloaded executors are primarily designed for attended automations started from Assistant, RobotJS, Studio, or the command line interface. Unattended jobs from Orchestrator initiate a single, non-preloaded executor.
Environment variable |
Value |
Description |
---|---|---|
UIPATH_PRE_LOADED_EXECUTOR |
None | Overwrites the default behavior and starts the preloaded executor only when the first job starts. |
UIPATH_DISABLE_PRE_LOADED_EXECUTOR |
True | Disables the preloaded executor. |
UIPATH_PRE_LOADED_EXECUTOR
variable to your system, you configure a preloaded setup. This starts two executors: one whenever a job starts, and another
one to wait for future jobs - the preloaded executor. When another job starts, it uses the preloaded executor, and it spawns
another preloaded executor to wait for the next job. In short, a preloaded setup always make sure there is an available executor
waiting for jobs.
UiPath.Service.UserHost.exe
starts, it launches two preloaded executors: one for Windows projects, and another for Windows-Legacy projects.
UiPath.Service.UserHost.exe
starts, it launches a single preloaded executor for cross-platforms projects.