在EOS workflow 事务处理过程中,主要各种触发事件的事务均和工作流事务绑定一起的,如何实现例如:启动后触发事件,结束后触发事件的处理。
可以参见以下处理模式。
关于超时与提醒时间设置的问题工作流超时和提醒,首先明确这两个设置是必须同时设置的,同时提醒时间点,是以工作流超时时间点为基准进行设置。简单说:就是提醒设置时间,是以超时设置时间点为基准。例如:超时设置为1小时,提醒设置为1分钟。那么提醒触发时间就是活动或者流程启动完成后,59分钟后提醒,超时触发为启动1小时后触发。如果工作流触发时间均保存在wftimer 和 wfworkitem 两张表中。
考虑到活动触发事件中,没有存在一个启动后触发事件(我们启动事件,更像一个启动中事件);采用启动后提醒事件进行代替。
关于流程触发事件变相实现异步调用方式目前在EOS工作流触发事件中,暂不支持触发事件中异步调用方式,目前一种变通方式就是采用同步调用触发事件,然后再在触发事件(biz)中异步调用子业务逻辑。考虑这样异步调用方式,能否将启动的触发事件成为启动后触发事件,或者将结束触发事件变成结束后触发事件。我感觉理论上可行的。