工作流引擎设计之退回任务定义

退回(Rollback Work Item)

退回是针对本人(工作流参与者)的“待办任务”的操作,即参与者主动退回待办任务列表中的任务。

为什么要退回?

参与者接受任务后,发现不应由自己办理此任务或上一步的执行者办理有错误等情况后,需要将此接受的任务退回给上一步的执行者重新办理。

退回的原则:执行退回以不影响本活动以及前活动的其他执行者已完成的工作为基本指导原则。

以下是一些不可执行退回的场景,当然这不是绝对的,有的引擎设计是可以支持部分下列场景的退回,所以,仅供参考。

1. 本活动的定义不允许对任务执行退回操作。


2. 本活动非单任务,且有其它任务已经被完成。


3. 本活动非单任务,且有其它任务正在处理中。


4. 本活动为流程定义的第一个活动,即没有可退回的前活动。



5. 前活动为自动活动的情况



6. 前活动为子流程活动的情况



7. 前活动的分支流转策略为“与”且有两个或两个以上的分支(AND-split)



图注:蓝色标识本活动,即待办任务所处的活动。

工作流任务不可退回的场景

补充说明

退回原则上应该支持AND-join场景的退回。

如果本活动和前活动之间存在一个或多个路由节点,则路由不会对退回规则产生任何影响,引擎在做退回运算时将跳过所有路由节点。

——以上是我以前在实现工作流引擎系统时的一些设计和指导原则,现在发表出来,供大家参考。不足之处,欢迎拍砖。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值