微信扫描关注我们

RPA如何多流程协作?(上)

Q:RPA支持多线程吗?如何实现?

A:在UiBot中,既支持多个流程并行运行(多个流程同时运行),也支持多个流程串行运行(先运行一个,再运行另一个)。

 

前者称之为“辅助流程”,后者称之为“子流程”,两者各有不同的用途。

 

本期,我们先来了解“辅助流程”。

 

辅助流程

辅助流程可以理解为主流程的“助手”。

多个流程同时运行,有“主流程”就有“辅助流程”。在UiBot中,辅助流程的用途通常是帮助主流程完成一些额外的任务,起到“辅助”的作用。

 

在UiBot Creator 的流程图上,有且仅有一个称为“主流程开始”的组件。这是流程的起点。可以把多个流程块用箭头连接到“主流程开始”的后面,让这些流程块依次运行,构成一个主流程。

 

如何创建辅助流程?

 

在流程图左侧的组件面板中,设有“辅助流程开始”组件,可以拖动到流程图中。

 

在一个流程图中,可以没有,也可以有一个或多个“辅助流程开始”的组件。创建了多少个“辅助流程开始”组件,在运行的时候就产生多少个辅助流程。

 

创建辅助流程,同样需要先创建若干个流程块,并用箭头将其依次连接到“辅助流程开始”之后。

 

微信图片_20220523090654.png

 

一个主流程和一个辅助流程

 

值得注意的是:在流程图中可能有多个流程块,每个流程块要么隶属于主流程,要么隶属于某个辅助流程,却不能同时隶属于主流程和辅助流程,也不能同时隶属于多个辅助流程。

 

换言之,一个流程块一旦被连接到了“主流程”后面,就无法再将其连接到“辅助流程”后面了。

 

辅助流程如何工作?

 

当流程开始运行时,主流程和所有的辅助流程都会同时开始,同时从“主流程开始”和每个“辅助流程开始”的组件处,根据箭头指向,依次运行每个流程块中的内容。

 

如果主流程结束了,会自动通知每个辅助流程,要求它们也结束。而辅助流程结束后,则不会影响到主流程或者其他辅助流程。

 

辅助流程数量越多越好?

 

并非如此。

 

UiBot的辅助流程是采用操作系统的多线程机制实现的,每个辅助流程都是一个独立的线程。

 

线程的数量增加并不一定会带来工作效率的提升,甚至线程数量过多,反而会带来效率的下降。因此,辅助流程的数量不宜过多。