实现并行执行和并发

优化工作流执行对于提高效率和生产力至关重要。 Power Automate 为并行执行和并发提供强大的功能,使您能够同时运行多个操作并大大缩短执行时间。

并行执行

Power Automate 支持并行执行,允许流同时运行两个或多个步骤。 只有在完成所有并行步骤后,工作流才会继续。 此功能支持更高效的处理,尤其是对于异步任务。

同时运行多个操作可缩短流的整体执行时间。 并行执行对于不相互依赖且可以独立处理的任务非常有用。

并行分支

对于执行时间超过 5 秒的操作,请使用并行分支。 此方法可优化流的性能,而不会使系统不堪重负。

具有并行分支的云端流的屏幕截图。

并行分支的用例:

  • 发送非阻止审批请求:使用并行分支发送不会阻碍其他操作的审批请求。
  • 创建基于多数派的审批:实施基于多数派的审批流程,根据大多数回复做出决定。
  • 在多个系统中创建或更新记录:通过在不同系统中同时创建或更新记录,确保数据一致性并缩短处理时间。
  • 整合多个来源的数据:并行检索来自不同来源的数据,并将其合并为一个数据集,以便进一步处理。

减少日程安排开销

一条直线上的操作可以在引擎中按顺序运行。 并行结构有助于更好地组织流并节省时间。 并行初始化多个变量可以节省时间。

重要的是,要尽量减少流中跳过的操作数量。 在每个分支中包含大量操作的宽开关语句,或使用频率较低的路径包含较多操作的并行分支,都会对流的可读性和可维护性产生负面影响。

与其在切换分支中跳过许多操作,不如从切换分支中调用子流。 这样,跳过的是无关的子流,而不是大量的单个操作。 这种方法可简化主流,使其更易于维护。

减少每个分支中的操作数量会使流更易读、更易懂。 子流可让您独立管理和更新工作流程的特定部分,从而简化整体维护流程。

并发控制

并发功能可在应用到每项循环中实现并行执行。 默认情况下,应用到每项循环是按顺序执行的,在处理大量数据时可能需要很长时间。 如果循环中的项不需要按顺序运行,则并发性使 X 项能够一次处理。 用户可以在 1 到 50 之间设置并行度。

考虑需要更新 100 条记录的状态字段的情形。 并发控制支持最多可以同时更新 50 条记录,而不是一个接一个地更新记录。

请注意要设置的并行度:

  • 在划分工作、对额外线程进行排队以及来自被调用的终结点的延迟方面存在开销。
  • 高数字(例如,50)不一定能使事情进展得更快。

在“应用到每项”中配置并发控制的截图。

此方法可能适用的其他一些实际场景:

  • 向多个收件人发送单个电子邮件
  • 更新 Dataverse、SharePoint Lists、SQL 中的记录​
  • 在 Microsoft Entra ID 中批量创建用户
  • 创建并行审批

下面是并发控制对对于每项循环中数组处理的影响比较。

数组长度 并行程度 运行循环所需的时间
4 关 ​ 21 秒 ​
4 2 ​ 11 秒 ​
4 4 ​ 6 秒 ​
4 6 ​ 6 秒 ​

应用到每项操作的并发控制仅对云端流中的最高级别有效。 嵌套应用到每项操作时,内部操作始终串行执行。