turbo
turbo copied to clipboard
Question: 关于流程的执行逻辑
感谢开源,代码逻辑非常清晰,让我这个不写 java 的人也能完整的看完整个逻辑。但是不太清楚怎么和具体的业务关联起来。
比如下面这个点我非常疑惑:
流程直到用户节点挂起或者结束节点完成
就会停下,如果说 审批人请求 commitTask
之后,后面要经过很长的节点才会到达下一个挂起的节点,那这个审批人岂不是要一直等?
可以理解turbo提供的是底层流程驱动的能力,用户节点指的是异步交互节点,可以是由业务系统驱动也可以是表单对应的人机交互。举例说明:审批人点击通过后,由上层业务系统执行业务逻辑后驱动commitTask,是否会经过很长的节点取决于上层业务系统的业务逻辑,通常来说两次用户节点之间的耗时是非常短的。
可以理解turbo提供的是底层流程驱动的能力,用户节点指的是异步交互节点,可以是由业务系统驱动也可以是表单对应的人机交互。举例说明:审批人点击通过后,由上层业务系统执行业务逻辑后驱动commitTask,是否会经过很长的节点取决于上层业务系统的业务逻辑,通常来说两次用户节点之间的耗时是非常短的。
感谢回复!你说的有道理。我又看了下 turbo 的表结构。turbo 专注于流程的执行,其他的业务逻辑交给业务方自行处理,业务逻辑可以依赖于 flow_instance_data 自由发挥。总的来说,很轻量,扩展性高。这也是 turbo 核心表只有5个的原因,可以适用于大多数流程的场景。