Subscribe

UiPath Orchestrator

The UiPath Orchestrator Guide

About Jobs

📘

Before you begin

Mastering jobs requires that you first get the hang of processes. Learn about runtime arguments, process types, and process compatibility.

A job represents the execution of a process on a UiPath Robot. You can launch the execution of a job in either attended or unattended mode. You cannot launch a job from Orchestrator on attended robots, unless for debugging or development purposes.

Attended jobs can be triggered from the UiPath Assistant or the Robot Command Line Interface. Unattended jobs are launched from Orchestrator, either directly on the spot from the Jobs or Processes page, or in a preplanned manner through triggers, on the Triggers page.

The Jobs page represents the jobs control center, where you can monitor launched jobs, view their details and logs, and stop/kill/resume/restart a job.

Click for field descriptions for the Jobs page

Field

Description

Process

The name of the process.
[Remote debugging job] is displayed for jobs started from Studio through remote debugging sessions.

Machine

The machine object used for connecting the executing infrastructure to Orchestrator.

Hostname

The name of the workstation used for execution.

Host identity

The identity under which the execution takes place. The following values are possible:
<Domain\Username> - jobs executed under that specific account. Displayed in the following cases:
foreground jobs regardless of the Robot version;
all jobs executed on Robots lower than 2021.10;
attended jobs executed on robots connected using a machine key, without user sign-in.

Note: For Robots older than 2021.10, the host identity gets populated dynamically according to the account settings made in Orchestrator. Changing the domain\username for the account used to execute a job changes the host identity as well.

ROOT - background jobs executed on Linux robots.

NT AUTHORITY\LOCAL SERVICE - jobs executed under the Robot service identity. Displayed for background jobs executed on Robots 2021.10+ without credentials.
ⓘ Service mode robots run under NT AUTHORITY\LOCAL SERVICE. User mode robots run under a certain user identity.

N/A - jobs started from the Assistant by users connected using interactive sign-in. For robots connected using the machine key, without user sign-in, the <Domain\Username> is displayed.

Job type

The type of job according to where the execution takes place and depending on whether the robot impersonates a user or not:
Service unattended - The execution happens on a server and the robot does not impersonate a user. Jobs are launched from Orchestrator
Personal remote - The execution happens on a server and the robot runs under the identity of a personal workspace owner. Jobs are launched from Orchestrator.
Attended - The execution happens on a user's personal machine. Jobs are launched from the Assistant.
Development - The execution happens on a server. Jobs are launched from Studio through remote debugging.

Runtime license

The runtime type used for execution.

State

The state of the job. See details about job states.

Priority

The priority of the job. See details about job priorities.

Started

The amount of time since the job has started executing. Hovering over this field displays the exact start time and date.

Ended

The amount of time since the job has finished executing. Hovering over this displays the exact end time and date.

Source

The agent of the execution.
[trigger_name] - The job was started by that trigger.
Assistant - The job was started by the UiPath Assistant.
Manual - The job was started from Orchestrator.
Studio - The job was started for debugging purposes from Studio.


Account-Machine Mappings


When starting a job or defining a trigger, you can define specific account-machine pairs on which execution takes place. Account-machine mappings enable you to tie unattended usage under particular accounts to specific machine templates. The gives granular control over the execution targets of your automation. Account-machine mappings can be tenant-based (not tied to a specific folder), or folder-based (tied to a specific folder).

Learn how to configure account-machine mappings.

Execution Target


According to the mechanism used for launching jobs in Orchestrator, you can choose and configure a job allocation strategy and an execution target, implicitly. This article describes the allocation strategies and execution targets available when launching jobs from the Jobs page.

Learn about execution targets for triggers..

📘

Note

If the Robot becomes unresponsive (the robot machine is down, or the Robot Service crashes) during job execution, after reconnecting, it restarts the execution of the jobs that were running during the crash.

1. Allocate Dynamically

Dynamic allocation with no explicit account and machine selection allows you to execute a foreground process multiple times under the account and machine that become available first. Background processes get executed on any account, regardless if it's busy or not, as long as you have sufficient runtimes.

Using the Allocate Dynamically option you can execute a process up to 10000 times in one job.

2. Account

The process is executed under a specific user or robot account. Only specifying the account results in Orchestrator allocating the machine dynamically. Specifying both the account and the machine means the job launches on that very account-machine pair.

3. Machine

The process is executed on one of the host machines attached to the selected machine template. Specifying the template displays an additional Hostname option, allowing you to select a specific host machine from the pool of connected host machines. Only specifying the machine results in Orchestrator allocating the account dynamically. Specifying both the account and the machine means the job launches on that very account-machine pair.

Make sure that runtimes matching the job type are allocated to the associated machine template. Only connected host machines associated with the active folder are displayed.

4. Schedule ending of job execution

The process execution may sometimes be faulty, causing the job to remain in the pending state. The toggle allows you to automate a strategy for stopping the job, by specifying the amount of time that can pass until the job is stopped or killed. To cover the case of a job that cannot be stopped, you have the option to kill the job.

5. Keep account-machine allocation on job resumption

The process resumes their execution on any available robot on any available machine by default. To keep the same account-machine configuration ensures an optimized use of resources and license requirements.

 

❗️

Dynamic Allocation Usage Convention

You need to provision a Windows user for each account on a host machine that belongs to the folders to which the corresponding machine template is assigned.
Say you connected a server to Orchestrator using the key generated by the machine template, FinanceT. That machine template is assigned to folders FinanceExecution and FinanceHR, where 6 accounts are assigned as well. Those 6 accounts need to be provisioned as Windows users on the server.

If you configure a job to execute the same process multiple times, a job entry is created for each execution. The jobs are ordered based on their priority and creation time, with higher priority, older jobs being placed first in line. As soon as a robot becomes available, it executes the next job in line. Until then, the jobs remain in a pending state.

Setup

  • 1 folder
  • 1 machine template with two runtimes
  • 2 accounts: john.smith and petri.ota
  • 2 processes which require user interaction: P1 - which adds queue items to a queue, P2 - which processes the items in the queue
  • The machine template and the accounts must be associated to the folder containing the processes.

Desired Outcome

  • P1 is executed with a high priority by anyone.
  • P2 is executed with a low priority by petri.ota.

Required Job Configuration

  • Start a job using P1, don't assign it to any particular account, set the priority to High.
  •  Job1

  • Start a job for P2, assign it to petri.ota, set the priority to Low.
  •  Job2

 

Execution Priority


You can control which job has precedence over other competing jobs through the Job Priority field either when deploying the process or when configuring a job/trigger for that process. A job can have one of the following priorities: Low (↓), Normal (→), High (↑).

Starting a Job Manually

The priority is inherited from where it was initially configured. You can either leave it as it is or change it.
Automations Page > Jobs
Inherits the priority set at the process level.
Automations Page > Triggers
Inherits the priority set at the trigger level. If the trigger itself inherited the priority at the process level, then that one is used.
Automations Page > Processes
Uses the priority set for that process.

If you configure a job to execute the same process multiple times, a job entry is created for each execution. The jobs are ordered based on their priority and creation time, with higher priority, older jobs being placed first in line. As soon as a robot becomes available, it executes the next job in line. Until then, the jobs remain in a pending state.

Starting a Job Through a Trigger

The priority is set by default to Inherited, meaning it inherits the value at the process level. Choosing a process automatically updates the arrow icon to illustrate what value has been set at the process level. Any jobs launched by the trigger have the priority set at the trigger level. If the default Inherited is kept, the jobs are launched with the priority at the process level.
Any subsequent changes made at the process level are propagated to the trigger, and the jobs created through it implicitly.

📘

Note

If you start a job that requires user intervention on multiple Robots on the same machine that does not run on Windows Server, the selected process is only executed by the first Robot while the rest fail. An instance for each of these executions is created and displayed on the Jobs page.

Jobs on High-Density Robots


If you start a job on multiple High-Density Robots from the same Windows Server machine, it means that the selected process is executed by each specified Robot, at the same time. An instance for each of these executions is created and displayed on the Jobs page.

If you are using High-Density Robots and did not enable RDP on that machine, each time you start a job, the following error is displayed: “A specified logon session does not exist. It may already have been terminated.” To see how to set up your machine for High-Density Robots, please see the About Setting Up Windows Server for High-Density Robots page.

Recording


For unattended faulted jobs, if your process had the Enable Recording option switched on, you can download the corresponding execution media to check the last moments of the execution before failure.
The Download Recording option is only displayed on the Jobs window if you have View permissions on Execution Media.

Updated 11 days ago


About Jobs


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.