作业是指在 UiPath™ 机器人上执行流程。您可以选择使用 Attended 或 Unattended 模式来启动作业执行程序。您无法从 Orchestrator 上的 Attended Robot 上启动作业,除非出于调试或开发目的。
可以从 UiPath Assistant 或机器人命令行界面触发有人值守作业。 无人值守作业从 Orchestrator 启动,可以直接从“作业或流程” 页面启动,也可以通过“触发器” 页面上的触发器以预先计划的方式启动。
“作业” 页面代表作业控制中心,您可以在其中监控已启动的作业,查看其详细信息和日志,以及停止/终止/恢复/重新启动作业。
下表包含“作业”页面的字段说明。
| 字段 | 描述 |
|---|---|
| 流程 | 流程的名称。 [Remote debugging job] 是对于通过远程调试会话从 Studio 启动作业时将显示的内容。 |
| “计算机”(*) | 用于将正在执行的基础架构连接到 Orchestrator 的计算机对象。 |
| 主机名 | 用于执行的工作站的名称。 |
| 主机身份 | 执行的身份。 可能的值如下:
domain\username,也会更改主机身份。
|
| 作业类型 | 根据执行位置以及机器人是否模拟用户而定的作业类型:
|
| Runtime 类型 | 用于执行的运行时类型。 |
| 状态 | 作业的状态。查看有关作业状态的详细信息。 |
| 优先级 | 作业的优先级。查看有关作业优先级的详细信息。 |
| 已开始 | 自作业开始执行以来的相对时间。将鼠标指针悬停在此字段上会显示确切的开始时间和日期。 |
| 已结束 | 作业执行完成后经过的相对时间。将鼠标指针悬停在此字段上会显示确切的结束时间和日期。 |
| “已开始(绝对)”(*) | 自作业开始执行以来的绝对时间。绝对时间戳以租户时区呈现。对于触发器,下一次运行时将在触发器时区呈现,该时区可能与租户时区不同。 |
| “已结束(绝对)”(*) | 作业执行完成后经过的绝对时间。绝对时间戳以租户时区呈现。对于触发器,下一次运行时将在触发器时区呈现,该时区可能与租户时区不同。 |
| 来源 | 执行的代理。
|
| “创建时间”(*) | 创建作业的相对时间。 |
| 创建时间(绝对)(*) | 创建作业的绝对时间。 |
(*) 默认情况下在作业网格中不可见的列。从“列”下拉列表中选择它们。
图 1. 作业页面
图 2.“作业”页面
帐户-计算机映射
启动作业或定义触发器时,您可以将特定的帐户-计算机对定义为执行目标。帐户-计算机映射使您能够将特定帐户下的无人值守用法绑定到特定计算机模型,从而对自动化的执行目标进行精细控制。帐户-计算机映射可以基于租户(不绑定到特定文件夹),也可以基于文件夹(绑定到特定文件夹)。
了解如何配置帐户-计算机映射。
执行目标
根据在 Orchestrator 中启动作业的机制,您可以隐式选择和配置作业分配策略和执行目标。本文介绍了从“作业”页面启动作业时可用的分配策略和执行目标。
如果作业执行依赖于尚不可用的特定资源,则在满足作业执行条件之前,作业将保持“待处理”状态。 例如,用户 U1 使用凭据 C1 连接到主机名 H1。但是,输入了错误的凭据 C2 以连接到主机名。因此,作业进入待处理状态。如果稍后将凭据更新为正确的凭据(即 C1),则作业将继续执行。
如果机器人在作业执行过程中无响应(机器人计算机已关闭或机器人服务崩溃),则重新连接后,它将重新开始执行在崩溃期间运行的作业。
图 3. 开始作业
1. 动态分配
无需显式选择帐户和计算机的动态分配允许您在首先可用的帐户和计算机下多次执行前台流程。 只要您有足够的运行时,后台流程就可以在任何帐户上执行,无论其是否忙碌。
使用“动态分配”选项,您可以在一个作业中最多执行一个流程 10000 次。
2. 选择有效的帐户-计算机映射
您可以决定要用于运行所选作业的特定帐户和计算机对。
图 4. “执行目标”选项卡
要一次运行多个作业(每对运行一个作业),请单击“添加帐户-计算机映射” ,然后从所显示的下拉列表中选择所需的项目。
完成后,将为每个帐户-计算机对创建一个待定作业。
仅当在租户设置的“常规”选项卡上选择了“启用用户-计算机映射”选项时,这才有效。
3. 帐户
该流程在特定用户或机器人帐户下执行。如果未指定帐户,则 Orchestrator 会动态分配帐户。同时指定帐户和计算机意味着作业将在该特定帐户-计算机对上启动。
4. 计算机
此流程在附加到所选计算机模板的其中一台主机上执行。指定模型会显示一个附加的“主机名”选项,允许您从已连接的主机计算机池中选择特定主机。仅指定计算机会导致 Orchestrator 动态分配帐户。同时指定帐户和计算机意味着作业将在该特定帐户-计算机对上启动。
确保将与作业类型匹配的运行时分配给关联的计算机模型。仅显示与活动文件夹关联的已连接主机。
5. 计划作业执行结束
流程执行有时可能会出错,从而导致作业保持挂起状态。 该切换允许您通过指定在停止或终止作业之前可以经过的时间量来自动化停止作业的策略。 要处理无法停止的作业的情况,您可以选择终止作业。
6. 在作业恢复时保持帐户-计算机分配
默认情况下,流程会在任何可用计算机上的任何可用机器人上继续执行。保持相同的帐户-计算机配置可确保优化资源使用并满足许可证要求。
您需要为主机上相应计算机模型分配到的文件夹中的每个帐户配置 Windows 用户。假设您使用计算机模型 FinanceT 生成的密钥将服务器连接到 Orchestrator。该计算机模型已分配到文件夹 FinanceExecution 和 FinanceHR,其中也分配了 6 个帐户。需要将这 6 个帐户设置为服务器上的 Windows 用户。
如果将作业配置为多次执行相同的流程,则会为每次执行创建一个作业条目。根据作业的优先级和创建时间对作业进行排序,优先级较高、较早的作业排在第一位。机器人可用后,它将立即执行下一个作业。在此之前,作业仍处于挂起状态。
示例
设置
- 1 个文件夹
- 1 个带有两个运行时的计算机模型
- 2 个帐户:john.smith 和 petri.ota
- 2 个需要用户交互的流程:P1 - 将队列项目添加到队列,P2 - 处理队列中的项目 计算机模型和帐户必须关联到包含流程的文件夹。
预期结果
- 任何人都以高优先级执行 P1。
- P2 由 petri.ota 以低优先级执行。
所需的作业配置
- 使用 P1 启动作业,不将其分配给任何特定帐户,将优先级设置为“高”。
- 启动 P2 的作业,将其分配给 petri.ota,将优先级设置为“低”。
执行优先级
在部署流程或为该流程配置作/触发器时,您可以通过“作业优先级”字段控制哪个作业优先于其他竞争作业。作业的优先级分为以下十种:
图 5. 执行优先级
Orchestrator 使用以下步骤序列分配作业:
- 找到能够执行新作业的空闲机器人。
- Orchestrator 识别分配给该机器人的计算机模型以及与该模型关联的所有文件夹。
- Orchestrator 评估这些文件夹中的所有待处理作业。
- Orchestrator 将具有最高优先级的作业分配给机器人。如果多个作业具有相同的优先级,则系统会按从旧到新的时间顺序将其发送给机器人。
请注意,计算机模型和高密度计算机可以同时执行多个文件夹中的作业。
手动启动作业
“作业优先级”字段的默认值为“继承”,这意味着优先级继承自最初的配置位置。您可以保持原样,也可以进行更改。
- 位置:“自动化”页面 >“作业”
作业继承在流程级别设置的优先级。
- 位置: “自动化”页面 > “触发器”
如果触发器的优先级为“继承”,则作业将继承在流程级别设置的优先级。
如果触发器的优先级不同于继承,则作业将继承在触发器级别设置的优先级。如果将其更改为“继承”,则使用在流程级别设置的优先级。
- “自动化”页面 >“流程”
作业继承为该流程设置的优先级。
如果将作业配置为多次执行相同的流程,则会为每次执行创建一个作业条目。根据作业的优先级和创建时间对作业进行排序,优先级较高、较早的作业排在第一位。机器人可用后,它将立即执行下一个作业。在此之前,作业仍处于挂起状态。
通过触发器启动作业
默认情况下,优先级设置为“已继承”,这意味着它将继承流程级别的值。选择流程会自动更新箭头图标,以说明在流程级别设置的值。触发器启动的所有作业的优先级都设置在触发器级别。如果保留默认的“已继承”,则将以在流程级别设置的优先级启动作业。
在流程级别进行的任何后续更改都将传播到触发器以及通过该触发器隐式创建的作业。
使用 API 设置作业优先级
界面中可用的 10 个优先级对应于 API 中的 100 个级别,这意味着 API 允许您设置更精细的优先级。这些级别映射如下:
| 最低版本 | 最大值 | 默认 | |
|---|---|---|---|
| 最低 | 1 | 10 | 5 |
| 很低 | 11 | 20 | 15 |
| 低 | 21 | Resolution settings | 25 |
| 中低 | 31 | 40 | 35 |
| 中 | 41 | 50 | 45 |
| 中高 | 51 | 60 | 55 |
| 高 | 61 | 70 | 65 |
| 很高 | 71 | 80 | 75 |
| 最高 | 81 | 90 | 85 |
| 重要事项 | 91 | 100 | 95 |
要设置或更改作业的优先级,请使用 SpecificPriorityValue 参数,这些参数支持用于以下端点:
POST/odata/Jobs/UiPath.Server.Configuration.OData.StartJobsPOST/odata/ProcessSchedulesPUT/odata/ProcessSchedules({key})
假设您有两个作业,并将其优先级分别设为 92 和 94。这二者的优先级都在“严重”范围内,但优先级为 94 的作业将在优先级为 92 的作业之前执行。
如果您启动的作业需要用户干预同一台未在 Windows Server 上运行的计算机上的多个机器人,则所选流程仅由第一个机器人执行,而其余流程将失败。将为每个执行创建一个实例,并将其显示在“作业”页面上。
高密度机器人作业
如果您从同一台 Windows Server 计算机上的多个高密度机器人上启动作业,则意味着所选流程由每个指定的机器人同时执行。将为每个执行创建一个实例,并将其显示在“作业”页面上。
如果您使用的是高密度机器人,并且未在该计算机上启用 RDP,则每次启动作业时,都会显示以下错误:“指定的登录会话不存在。该流程可能已经终止。”要了解如何为高密度机器人设置计算机,请参阅关于为高密度机器人设置 Windows Server页面。
录制
对于无人值守的故障作业,如果您的流程启用了“启用记录”选项,则可以下载相应的执行介质,以查看失败之前执行的最后时刻。
仅当您对执行介质具有“查看”权限时,“下载录制”选项才会显示在“作业”窗口中。