基于低代码的工作流自循环节点设计
工作流场景中,循环节点随处可见场景也比较多,比如多任务执行、多人审批、多API交互以及各种条件、参数设置
最近在设计工作流后端引擎,把其中涉及到的两个特殊功能点分享出来,希望对自研工作流引擎的同行有些帮助
NC&节点自循环有用户通过终端低代码的方式设置,pre node&前置节点、next node&后置节点、执行对象、执行条件及自循环节点参数,最终形成数据结构模型
在规则运行时通过pre node把执行数据参数传递,然后执行引擎根据解析引擎解析的自循环设置的参数数据模型进行运行,每执行一次任务,execute执行引擎需要根据执行结果判断是否跳出自循环节点,常见的判断条件有超时、执行次数、任务执行比率。实现任务时可以抽象一个run(…parameter)接口方便任务统一管理及维护,只要不满足跳出条件就继续执行后续任务或者自循环同一个任务。当满足条件后,则进入 next node&后续规则节点
主要分享低代码、微服务、容器化、SAAS、系统架构方面的的内容,希望大家点赞,评论,关注。
NC&节点自循环整体上可以看做是一个任务容器,实现多任务节点执行一定比例、定时或者全部执行完再进行后续任务,可以在自循环节点设置多任务、多脚本、跳出条件,相当于一个多执行对象的容器,通过不断的迭代不同的对象有序执行,直到满足跳出条件跳出。
NC&自循环节点通过低代码实现方式,可以便利用户通过可视化的界面就可以实现规则编排、设置,运维场景中的部门、定时、投票审批流需求,巡检中的多脚本、定期巡检,服务部署中的有服务顺序的部署、多服务部、服务检查及自循环规则节点的条件配置,有效的解决处理混合任务、多任务、有序任务、延迟任务的运维需求。
虽然是针对运维方向的流程引擎的设计,但其他行业也可以借鉴该思想,基本是相同的,只是实现的业务不同,但从上层看是基本一致的。
主要分享低代码、微服务、容器化、SAAS、系统架构方面的的内容,希望大家点赞,评论,关注。