我正在尝试创建以下场景:
- 任务被分配给用户完成
- 为经理创建一个任务,以便在必要时重新分配用户任务(不要问,他们想要这样)
- 当任务接近截止日期时,需要发送电子邮件提醒
所以,我想到了为此使用 EventHandlingScope:
- 我正在监听 eventhandlingscope 活动主分支上的任务更改,
- 监听事件驱动分支中的重新分配任务更改 - 如果重新分配任务被激活,则将第一个任务重新分配给指定的用户
- 在另一个事件驱动的分支中,使用延迟活动并定期检查用户分配的任务是否接近截止日期并发送电子邮件提醒
所以,我认为 eventhandlingscope 会对此有好处,而且大多数情况下都是这样,除了 DelayActivity 的问题。
如果我在其中一个事件处理程序分支中放置一个延迟活动,它会触发一次,但不会更多。而如果我在那里放置一个 onTaskChange 活动,它会在每次有人更改该任务时触发。
那么,这是预期的行为吗?为什么 DelayActivity 不循环?我怎么能以不同的方式做到这一点?我的想法是使用 CAG,但这看起来有点复杂......
更新:CAG 的问题是整个事情都会阻塞,直到延迟活动触发,即使 onChange 事件触发。这是有道理的,但使用起来有点棘手。
Update2:我已经改写了文本以使其更清晰