建模通知系统

时间:2011-04-07 13:34:23

标签: workflow-foundation-4 state-machine

我正在尝试建模一个时间段(开始日期和结束日期)中发生事件的通知系统。如果超过了时间段,则要求用户更新时间段或设置事件已被取消的标志i)已取消,ii)已完成,或iii)已关闭。如果今天是活动预定完成日期的一天,则通过电子邮件发送经理。如果两天,经理和他们的主管通过电子邮件发送。如果>两天,经理,他们的主管和公司老板通过电子邮件发送。在此之后的每一天,它都会通过电子邮件向其中的三人发送该事件拖欠的信息。事件可以在将来的任何时间安排,因此该过程需要简单地跟踪事件何时处于待定,活动,欠款(超过结束日期),取消,关闭或完成。

我已经开始将工作流构建为Windows Server AppFabric中托管的WorkFlow Service应用程序,因为这似乎是保持这个长时间运行的工作流的最佳方式。我也开始使用WF状态机活动包CTP 1,因为它似乎是模拟这些不同事件状态的最佳方式。

我不确定如何对此过程建模以及让过程持续并在后台继续运行以监控事件的状态并按上述方式运行。我想我在状态机中正确建模了所有状态。我仍然试图找出从一个州到另一个州的过渡。任何指导都表示赞赏。

Current State Machine as Modelled

1 个答案:

答案 0 :(得分:0)

状态机运行一阵。在保持工作流程的同时,没有什么可以“运行”。我怀疑你的意思是当超时超时时工作流会如何“唤醒”。

答案是Delay活动将创建一个持久的计时器。 AppFabric工作流管理服务会定期询问持久层是否存在可运行的工作流实例 - 即已崩溃的实例或持久计时器已过期的实例。

最终计时器将过期,工作流程将被加载,延迟活动书签将被恢复。