【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收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。
相关导航
GitHub - OpenGithubs/github - weekly - rank是一个很有价值的项目,每周一早上8点更新。它列出了GitHub上每周飙升榜top20的开源项目,如Avaiga/taipy项目适合多种开发者快速构建数据驱动的Web应用,ollama - webui/ollama - webui是Ollama的Web客户端,payloadcms/payload是“无头”CMS系统等。这些项目来自不同的开发领域,这个排名能让开发者快速掌握热门开源项目动态,也有助于开源爱好者发现新的有趣项目。
paascloud/paascloud - master是一个基于SpringCloud、Vue和OAuth2.0全家桶实战的项目。它是前后端分离的模拟商城项目,具备完整的购物流程和后端运营平台,可以快速搭建企业级微服务项目并支持微信登录等三方登录。项目在技术框架上采用了多种开源技术,如SpringSecurity、SpringCloudOauth2、elastic - job、MyBatis等,同时整合了多种三方服务,如邮件服务、阿里云短信服务等。项目结构丰富,包含多个微服务相关的中心以及各种后端和公共部分。其目的是为中小企业解决微服务架构难题,提供了多种功能解决方案。