- 发行说明
- 入门指南
- 设置和配置
- 自动化项目
- 依赖项
- 工作流类型
- 文件比较
- 自动化最佳实践
- 源代码控件集成
- 调试
- 诊断工具
- 工作流分析器
- 变量
- 参数
- 导入的命名空间
- 录制
- 用户界面元素
- 控制流程
- 选取器
- 对象存储库
- 数据抓取
- 图像与文本自动化
- Citrix 技术自动化
- RDP 自动化
- Salesforce 自动化
- SAP 自动化
- VMware Horizon 自动化
- 日志记录
- ScreenScrapeJavaSupport 工具
- Webdriver 协议
- 测试套件 - Studio
- 扩展程序
- 故障排除
编排流程
长时间运行的工作流是主项目,可在无人值守的环境中支持服务编排、人工干预和长时间运行的事务。
当某些流程在继续执行活动的下一步骤前需要人工输入来处理异常、审批或验证时,则需要人工干预。在这种情况下,系统将会暂停执行流程,并释放机器人,直到人工任务完成。
长时间运行的工作流包含 UiPath.Persistence.Activities,并且可以与“调用流程”和非用户交互活动结合使用,从而使用机器人任务编排人工任务。它在会话 0 中运行,从而确保快速执行。请注意,编排流程的调试在用户会话中完成。
长时间运行的工作流可能会编排:
- 可能包含执行 API 调用并在会话 0 中运行的活动的后台流程。可以使用“调用流程”活动来调用它们。
- 用户界面:具有通过“从 Orchestrator 启动作业”活动调用并在用户会话中运行的用户交互活动的流程。
- 人在回路:用户通过需要在 Orchestrator 中填写表单的任务进行交互。这意味着将“创建表单任务”活动与“等待表单任务然后恢复”配对使用。
在 Studio 中,转到“ 主页” >“ Orchestration 流程 ”以打开模板,该模板在流程图工作流类型中包含默认的 UiPath.Persistence.Activities 和 UiPath.System.Activities 依赖项。
supportsPersistence: true
参数,指示在任务完成后继续执行流程。
requiresUserInteraction: false
参数指示此工作流不包含用户交互活动,类似于后台流程 。
project.json
文件中的参数。
通过将“ 支持持久性” 开关设置为“是 ”,可以从“ 项目设置” 窗口将流程转换为“ 编排流程”。
UiPath.Persistence.Activities
包中的活动配对,并建立自己的编排流程:
-
使用“添加队列项目并获取引用”活动添加具有
in
、in/out
或out
参数的队列项目,然后获取对应的队列项目对象。队列项目处理完毕后,如果该活动与“等待队列项目,然后继续”活动配对,则系统会将ItemInformation
属性中提供的参数分配回所映射的工作流变量。 -
“等待队列项目,然后继续”活动应与“添加队列项目并获取引用”活动相配对。工作流进入暂停状态,并释放此活动中的机器人,待特定队列项目完成后,继续执行流程的下一个步骤。
-
-
“等待作业,然后继续”活动应提供作为“启动作业并获取引用”活动的输出而给出的
Job Object
,从而与后者配对。这会暂停当前流程,等待引用作业完成,并在引用作业的状态更新为完成后继续该流程。 -
使用“创建表单任务”活动为工作流中的人机交互创建含基于表单的可视化的任务。这些具有相关工作流上下文的表单将提供给用户,用于决策及其他用途。要在此活动中启用表单设计器,必须安装 UiPath.FormActivityLibrary 包。
注意:当使用从 2021.4 开始的 Studio 版本以及 1.2.1 之前的 UiPath.Persistence.Activities 和 UiPath.FormActivityLibrary 版本时,“表单设计器”窗口将不占据焦点,并且在打开设计器窗口时可以与 Studio 进行交互。为避免此问题,请确保将程序包更新为最新版本。 -
“等待表单任务,然后继续”活动应提供
Task Object
作为输入,以与“创建表单任务”活动配对,如此方可暂停工作流,直到此任务已由最终用户完成。 - 使用“延迟后恢复”活动暂停工作流的执行,并在特定日期和时间恢复该工作流。
- 在 Studio 中执行工作流。每当机器人执行长时间运行的活动时,Studio 都会进入只读状态,同时启用功能区中的“继续”选项。接着,完成底层任务、队列项目或作业,然后单击“继续”。
UiPath.Persistence.Activities
包内长时间运行的活动(“等待并继续”活动)只能用在编排流程的入口点,即标记为Main.xaml
的文件。- 由一个编排流程构建的可重用组件只能在其他编排流程中引用。
- 如果将长时间运行的工作流附加到队列处理,并且该工作流处于暂停状态,则队列项目即使在 24 小时后仍会保持进行中状态,直到工作流在恢复后设置事务状态。如果队列项目标识符包含在“等待”和“继续”活动的相同作用域中,则这些标识符将成为持久化工作流上下文的一部分。
-
暂留点(等待和恢复活动)不能在“遍历循环”活动的主体内使用,因其在执行第一次迭代后会暂停工作流,这可能与您的预期行为不相符。
也可以尝试同时使用循环与暂留活动,例如“并行的遍历循环“活动。请注意,默认情况下,每项作业恢复触发器的最大数量限制为 1,000。
- 不支持“ 延迟 ”和“ 重试作用域 ”活动,并且在 编排流程的主工作流中使用时,这两个活动无法正常工作。 在这种情况下,应将它们放置在“ 非 暂留作用域” 活动中。
- 任何可用的机器人均可恢复长时间运行的工作流,只要该机器人与暂停作业(例如无人值守或非生产)的机器人处于相同环境且类型相同,因此必须还要在暂留点后提供执行所需的本地资源。
- 在长时间运行的活动作用域中使用的所有变量必须皆可序列化。此页中所列的变量类型皆可序列化:文本、True 或 False、数字、数组、日期和时间。数据表和通用值变量。数据表和通用价值变量。
- 对于不包含长时间运行的活动的作用域,其中所使用的变量不受序列化要求的约束,因为工作流不会在这些作用域内暂停。不可序列化的数据类型可以在同一工作流的单独序列作用域中使用,也可通过调用其他文件加以使用,前提是它们介于“等待后继续”活动之间,例如“等待作业,然后继续”、“等待队列项目,然后继续”和“等待表单任务,然后继续”。
- 请注意,长时间运行的活动所生成的部分对象属性无法在“局部”面板中进行评估。
- 对期望每项作业具有大量操作的工作流实施适当的批处理。请注意,每项作业每次可等待的默认作业量限制为 1,000 项操作(或其他作业触发器)。