提问人:WestFarmer 提问时间:11/14/2023 更新时间:11/20/2023 访问量:28
BPMN2 计时器事件延迟后如何重复?
BPMN2 timer events how to repeat after a delay?
问:
我是 BPMN 和 camunda 的新手。如何实现这一点: 我有一个用户任务,我想设置一个超时,假设 3 天。 如果用户在 3 天内没有完成任务,我每小时都会发送一条短信提醒用户。我尝试使用边界计时器事件来模拟超时,但未能将 SMS 通知任务重复 1 小时,因为中间计时器捕获事件只能有持续时间,而不能有周期。 请帮忙...
请注意,SMS 任务需要在 3 天超时后开始。
我正在使用 camunda 桌面建模器 5.16.0
答:
0赞
tueftla
11/20/2023
#1
我会以这种方式解决这个问题(我这么说是因为我也是 bpmn 的新手)
让我们仔细看看流程图
- 用户应该批准一项任务,并且他有三天的时间完成
- 在未完成任务的三天后,将打开备用路径(条件:批准> 3 天)
- 现在发送第一条短信作为提醒
- 然后我们再次转到批准任务(但在替代路径中)
- 当批准未在一小时内完成时(条件:等待 1 小时)
- 我们返回到任务 SMS notify 的链接事件
- 这是一个循环
- 经过一些循环(条件 SMS > 10)后,将打开第二条备用路径来升级此批准
- 对于没有无限循环也很重要
评论
0赞
WestFarmer
11/20/2023
看看我自己的答案,如果你不同意,请发表评论。
0赞
WestFarmer
11/20/2023
#2
边界计时器事件的计时器表达式可以是:
"R3/" + substring(string(now() + duration("P3D")),1,19) + "Z/PT1H"
这意味着:从 3 天后开始,每 1 小时重复一次,最多 3 次。
注意:这可能是特定于 Camunda 的,可能不适用于其他 BPMN 实现。
评论