Skip to content

并行运行流程

1.组件说明

在当前工作流中并行的调用其他的工作流,实现工作流同步运行,提高工作流的运行效率。

img.png

2.字段说明

最大并发数

可以设置并行运行的最大流程数量,默认值为4。注意,该参数只在本项目中第一个调用并行运行流程组件时生效,后续调用并行运行流程组件会继承上一个组件的最大并发数。 该参数不宜设置过大,否则会导致系统资源不足。当提交异步运行的流程数量超过最大并发数时,后续的流程会被放入等待队列中,等待有空闲的并发数时再运行。

选择流程

选择需要调用的流程

任务ID

调用并行运行流程组件后,会返回一个任务ID,后续可以通过获取任务结果组件,根据任务ID获取并行运行流程的执行结果。注意,获取任务结果组件是阻塞的,会一直等待并行运行流程执行完成。

3.使用实例

img.png

创建2个子流程,然后分别在并行运行流程组件中调用这2个子流程,然后在获取任务结果组件中根据任务ID获取这2个子流程的执行结果。 img.png

注意,由于并行运行流程的底层原理是使用Python的多线程实现的,所以对于Python多线程的一些问题,如全局解释锁(GIL)、线程安全等问题,需要注意。 对于浏览器操作相关的任务,如果想要并行运行,需要注意浏览器的线程安全问题,避免多个线程同时操作浏览器导致的冲突。一般需要在每个子流程中打开一个新的浏览器实例,避免多个子流程共享一个浏览器实例导致的冲突。在子流程打开新的浏览器时,需要设置不同的缓存目录,避免多个子流程共享一个缓存目录导致的冲突。