EMSFLOW工作流的回退


回退算法一直是工作流引擎中比较复杂的部分,一般的工作流引擎不支持回退或只支持回退到上一步,EMSFLOW工作流引擎支持任意步骤的回退操作,下面我们将以结合例子做介绍。

场景1:如果是从并流中的一个节点开始回退:正运行的其他并点将被关闭,回退开始点和回退目标点都有状态记录,重新执行的时候,并1,并2都会被重新执行。

本例中,将从并1点回退到经理审核点,并2点将被关闭

使用客户端执行回退操作

回退完成,各活动状态被重新标识

重新执行经理审核,并1,并2都被重新执行,回退的记录可以通过工作流管理界面查询

场景2:如图:从总审回退到并1点与从总审回退到并2点对分2join处理不同

回退后重新执行的时候

总审-à1 2的流入节点只要一个完成便启动

总审-à2 2的流入节点要副总审核与并3节点都完成才能启动

 

总审-à1 2的流入节点只要一个完成便启动

 

总审-à2 2的流入节点要副总审核与并3节点都完成才能启动

总审-回退到并2后重新执行,副总审核与并3都执行,才能启动分2

工作流活动执行过的状态都可以使用管理界面查询

总结EMSFLOW工作流引擎支持任意步骤的回退,回退后对各分支与聚合的处理方法与正常执行一致,回退算法要处理的场景很多,我们不一一介绍,因为在使用的时候,是感觉不到内部的处理,与正常操作一致,使用方便