【Github】项目名:go – workflow/go – workflow:go版本极简工作流引擎
一、项目简介
go – workflow是一个超轻量级的工作流引擎,基本架构与Activiti工作流有些相似,但更精简、更轻量,是一个工作流微服务。它具有一些独特的特性,例如将无关流程的数据(如用户、用户组等信息)从服务中解耦出去,仅记录流程的流转,并且使用json数组替代bpmn来生成流程定义以简化流程定义的生成。其前端流程生成工具为https://github.com/go – workflow/go – workflow – UI,还有具体案例详见example.md。
二、项目框架
1. 数据库设计
- 流程定义表procdef保存流程配置,有name、version、resource、company等主要字段。
- 流程实例表proc_inst保存流程实例,包含procDefID、title等主要字段。
- 执行流表execution保存执行流,有procInstID、procDefID等主要字段。
- 关系表identitylink保存任务的候选用户组等信息,包括type、group等主要字段。
- 任务表task保存任务,有nodeID、step等主要字段。
- 历史数据表包括execution_history等,每隔20秒将已结束流程数据自动迁移过来。
2. 流程的操作
- 存储流程资源:启动微服务后,可通过http://localhost:8080/workflow/procdef/save进行存储。
- 启动流程:通过调用StartProcessInstanceByID方法启动流程实例,涉及获取流程定义、启动流程实例、生成执行流等一系列操作。
- 任务审批:调用Complete方法执行任务审批,涉及更新任务等操作;调用WithDrawTask方法执行任务撤回。
三、项目总结
go – workflow/go – workflow这个项目为需要工作流引擎的场景提供了一个轻量级的解决方案。它在架构设计、数据处理以及流程操作等方面都有自己的特色。希望大家能积极留言,一起讨论这个项目的更多可能性。
项目地址
数据统计
数据评估
本站链氪巴士提供的go-workflow/go-workflow:go版本极简工作流引擎都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。
相关导航
NiceVieoPlayer是一个Android视频播放器项目,它基于IjkPlayer/MediaPlayer+TextureView进行封装。支持本地和网络视频播放,能在IjkPlayer和MediaPlayer之间切换,完美实现小窗口与全屏切换,在RecyclerView中也可无缝全屏切换。支持手势操作调节进度、亮度、声音,可切换清晰度,还能自定义控制界面。使用时在AndroidStudio或Gradle中添加依赖,在Activity和Fragment中有特定的使用逻辑,包括释放播放器、处理返回键等操作,在RecyclerView中使用时要监听视图回收释放播放器,对于Home键操作也有相应处理方式。