1 业务场景
在工作流的使用过程中常常会遇到审批不及时的情况,某些业务下对流程特定环节的审批会有时限要求,可以允许响应人在超过既定时间未处理时自动办理跳转至下一环节或指定环节确保流程继续运行,又或是对超时未审批的流程办理人发送通知消息提醒其尽快处理。
以上这两类业务场景在乐创者工作流设计过程中都可以通过使用“定时边界事件”来实现了(仅V7.0.0以后的版本支持)。
什么是定时边界事件?
定时边界事件是流程建模中的一种特殊类型事件,常见于工作流引擎(如Activiti或Flowable)中。它是指一种附加在某个活动节点上的事件处理器,该处理器在满足特定时间条件时触发。
具体来说,在业务流程执行过程中,当流程实例到达并进入了一个带有定时边界事件的活动节点后,与该活动节点关联的计时器会开始计时。一旦设定的时间到期,无论当前活动节点是否还在处理中或者已挂起,定时边界事件都会被触发:
• 如果定时边界事件设置为中断(Interrupting),则当前活动将立即终止,并从边界事件处继续执行流程定义中的后续路径。
• 如果是非中断(Non-interrupting),则流程将继续执行当前活动,同时也会启动一个新的流程分支来处理边界事件触发的动作。
定时边界事件常用于实现超时处理、任务提醒、流程自动流转等功能,确保即使某个任务未按预期完成,流程也能按照预设的时间计划进行推进。
2 配置说明
在前文对定时边界事件的描述中提到了它是一类附加在活动节点上的事件处理器,所以在使用时需要将其拖放到某个具体的用户任务上才能发挥作用,如下图所示。
单击定时边界事件,可以在工作流设计界面下方配置区域对其进行设置:
- 名称:选填。
- 描述:选填。
- 定时设置:必填,定时方式可以选择三种方式“指定间隔触发”、“指定时间触发”和“周期性触发”。
- 原任务自动处理:默认勾选。勾选状态下触发定时事件后将中断当前任务节点的所有待办任务,按定时边界事件上配置的新的流程分支来处理后续路径,可以视作是自动办理或跳过了当前节点;未勾选状态下,触发后也会按照定时边界事件上配置的新的流程分支去流转,但不会中断当前任务节点的待办,例如任务提醒的业务就需要在非中断的情况下去实现,需要保留相应的待办任务,只是提醒响应人去处理。
定时设置配置说明:
(1)指定间隔触发:如下图所示,可以配置到达节点以后多久执行,例如到达节点1天后触发,在流程中这类配置比较常用。
(2)指定时间触发:如下图所示,可以配置到达具体某个时间点后出发,时间格式需符合ISO8061格式,日期与时间需要用T衔接,例如2024-01-01T00:00:00
(3)周期性触发:一般适用于消息提醒等非中断业务,支持两种配置方式。
- 标准格式:直接配置循环几次,每次循环间隔是多久
- cron表达式:{秒数} {分钟} {小时} {日期} {月份} {星期} {年份(选填)},例如: “0 0 17 ? * FRI” 在每星期五下午17:00 执行(年份通常省略)
在回过头来看如下图的流程,可以看到原本该流程是由“开始-发起人-审批节点1-审批节点2-结束”组成的一个相对比较简单的流程。我们在其中的“审批节点1”和“审批节点2”上加入了两个定时边界事件来简单介绍一下定时边界事件的使用方式。
(1)超时自动办理
如“审批节点1”上配置的“定时1”可以在审批节点1响应人在指定触发时间还未办理时自动办理,使流程自动按流转线流转到“审批节点2”。例如想要在流程到达“审批节点1”一天以后自动办理流转到“审批节点2”,配置可以如下:
- 【定时设置】指定间隔触发,到达节点 1 天后执行
- 【原任务自动处理】勾选
(2)超时发送通知消息
如“审批节点2”上配置的“定时2”可以在审批节点2响应人未办理状态下实现保留待办任务,定时向响应人发送催办通知消息,提醒响应人去处理该任务。例如想要在流程到达“审批节点2”后每一小时给响应人发送一个催办通知消息,一共发三次,配置可以如下:
- 【定时设置】周期性触发,标准方式:循环 3 次,间隔 1 小时触发
- 【原任务自动处理】不勾选
3 执行与显示
超时自动办理的流程在流转情况中可以留痕展示。
最后编辑:Eric 更新时间:2025-04-24 13:55
