UiPath Documentation
robot
2022.10
false
Robot 管理员指南
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。

停止流程

A process can either be stopped through Soft Stop or Kill commands.

“软停止”命令​

“软停止”命令将流程标记为应停止状态。 可以使用“应停止”活动,从仍在执行的工作流中查询此状态。 工作流应显式处理此状态并完成。 如果不处理“应停止”状态,工作流不会自动停止。 有关利用“软停止”的方案,请参阅 REFramework。

The Stop command is designed for unattended automations and is available only in Orchestrator. In Orchestrator, the Soft Stop command is named Stop.

“终止”命令​

“终止”命令首先向工作流发送“取消”请求。 工作流“取消”请求与“应停止”不同。“取消”是由工作流自动处理的工作流信号。 该信号会导致以级联方式取消活动,同时允许工作流的 Finally 块执行清理步骤。 如果“取消”信号未在三秒内停止工作流,则通过在执行中的任何时间强制停止任何正在运行的活动,从而终止作业。

“终止”命令专为 Attended 自动化而设计,适用于 Orchestrator 和桌面客户端以及 API(例如 Assistant、Studio、RobotJS)。在桌面客户端中,“终止”命令的名称为“停止”。

REFramework 流程方案​

REFramework 利用“停止”命令。

当一个流程停止时,系统将跳过包含错误逻辑的块,并执行最终块。这将导致 BusinessError 和 SystemError 的值保持为 null,并且系统会将整个流程状态视为成功。描述的行为即为预期行为。

Try-Catch 方案

在“Try-Catch (捕获)”工作流中,当流程停止时,事务状态可能会显示为“成功”,而实际上该事务并未完成。

取消流程

当机器人收到取消命令时,如果执行位于 Try 或 Catch 块中,则跳至 Finally 块,以检查是否有任何错误。如果未发现错误,则 Finally 块便会认为执行已成功完成,原因是不存在失败事件(它们为空)。

终止流程

如果机器人收到“终止 (Kill)”命令时,执行位于 Try or Catch 块中,则它将首先尝试取消流程,跳到 Finally 块。如果 Finally 块内的逻辑在收到“取消”命令后最多 30 秒内仍未执行完毕,则系统会终止整个执行,而且整个流程在日志中成功完成,因为自跳过 Catch 块以来,没有记录任何错误。

避免误报

  • 在完成流程逻辑之后,只能在 Try 块内将流程状态设置为 Successful。
  • 在完成错误处理逻辑之后,只能在 Try 块内将状态设置为 Failed。
  • Finally 块中应该只存在清除逻辑,因为无论执行成功与否,系统都会执行该逻辑。

确保错误逻辑得以执行​

如果跳过包含错误逻辑的块,则 BusinessError 和 SystemError 的值保留为 null,并且由于未记录任何错误,因此将整个过程状态视为 successful。

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新