Bulbasaur 是一个可插拔的精简流程引擎,可快速实现流程、审批、业务失败重试等场景。
bulbasaur分为四个模块,按需加载
使用。分别为:
模块 | 功能 |
---|---|
核心模块 bulbasaur-core |
提供核心流程 |
持久化模块 bulbasaur-persist |
提供流程的存储和失败回滚 |
调度模块 bulbasaur-schedule |
提供失败重试,定时等调度逻辑 |
任务模块 bulbasaur-task |
提供人工任务和超时自动执行,目前已经支持单人单任务,多人单任务 |
内存
的流程引擎,那么只要使用核心模块
即可,流程模板以文件形式维护在业务方系统。核心模块
+ 持久化模块
。核心模块
+ 持久化模块
+ 调度模块
。核心模块
+ 持久化模块
+ 任务模块
,至于要不要调度模块
都可以。其中,除了核心模块外,其他模块都需要业务方建表支持。
持久化模块 bulbasaur-persist
需要表:
表名 | 功能 |
---|---|
xx_bulbasaur_d |
模板 |
xx_bulbasaur_p |
流程实例 |
xx_bulbasaur_s |
节点 |
调度模块bulbasaur-schedule
需要表:
表名 | 功能 |
---|---|
xx_bulbasaur_j |
重试/定时 任务 |
任务模块bulbasaur-task
需要表:
表名 | 功能 |
---|---|
xx_bulbasaur_t |
审批任务 |
xx_bulbasaur_ptp |
多人审批任务 |
以上表需要建在业务方库中,表名可以业务方指定,流程引擎可以识别,比如:业务方库中表都有统一前缀,那么流程引擎表可以都带上统一前缀。
流程引擎使用quartz做分布式调度,也需要在业务方库中建表。
牛客网暑期ACM多校训练营(第六场) D Bulbasaur 题目: 链接:https://www.nowcoder.com/acm/contest/144/D 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 Silph company deployed a passe
目录 题目 题目分析: 通过代码: 需要注意的: C语言中整型(int)与长整型(long long)的范围 C语言中整型(int)与长整型(long long)在标准化输入输出中的占位符 数组的初始化 题目 https://ac.nowcoder.com/acm/problem/17441 Silph company deployed a passenger flow analysis syst
Description 有 n n n个 f a c e face face和 m m m个 b o d y body body,给出 k k k种配对对应的权值,一个 b o d y body body只能配一个 f a c e face face,但一个 f a c e face face可以配多个 b o d y body body,问合法匹配的最大权值和 Input 第一行一整数 T T
Silph company deployed a passenger flow analysis system in a clothing store that captures photos of human faces and photos of human bodies in real time. In order to analyze the passenger flow better,
链接:https://www.nowcoder.com/acm/contest/144/D 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 Silph company deployed a passenger flow analysis system in a cloth
链接:https://www.nowcoder.com/acm/contest/144/D 来源:牛客网 题目描述 Silph company deployed a passenger flow analysis system in a clothing store that captures photos of human faces and photos of human bodies i
链接:https://www.nowcoder.com/acm/contest/144/D 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 Silph company deployed a passenger flow analysis system in a cloth
问题内容: 编写新的工作流引擎还是使用现有的BPM引擎更好吗:jBPM 5,Activiti 5? 我的应用程序是基于Web的应用程序,性能非常重要。我的疑问是,与编写简单的工作流引擎相比,使用jBPM / Activiti是否会增加性能开销。 如果我采用自我实现,我会错过工作流程的可视化。为了性能,可以进行交易。 问题答案: 这确实取决于您的要求。首先,查看您是否真的需要工作流引擎(此资源或其他
主要内容:使用普通函数创建 goroutine,使用匿名函数创建goroutine在编写 Socket 网络程序时,需要提前准备一个线程池为每一个 Socket 的收发包分配一个线程。开发人员需要在线程数量和 CPU 数量间建立一个对应关系,以保证每个任务能及时地被分配到 CPU 上进行处理,同时避免多个任务频繁地在线程间切换执行而损失效率。 虽然,线程池为逻辑编写者提供了线程分配的抽象机制。但是,如果面对随时随地可能发生的并发和线程处理需求,线程池就不是非常直观和方便了。能否
本文向大家介绍浅谈轻量级js模板引擎simplite,包括了浅谈轻量级js模板引擎simplite的使用技巧和注意事项,需要的朋友参考一下 模板地址:https://github.com/zhangshaolong/simplite欢迎各位提出宝贵意见及贡献代码。特点: 1:代码量少,学习成本低; 2:默认jsp语法标签方式,熟悉jsp的朋友可以直接按照jsp的语法书写模板; 3:使用原生js语法
在常用的并发模型中,多进程、多线程、分布式是最普遍的,不过近些年来逐渐有一些语言以first-class或者library的形式提供对基于协程的并发模型的支持。其中比较典型的有Scheme、Lua、Python、Perl、Go等以first-class的方式提供对协程的支持。 同样地,Kotlin也支持协程。 本章我们主要介绍: 什么是协程 协程的用法实例 挂起函数 通道与管道 协程的实现原理 c
本文向大家介绍javascript轻量级模板引擎juicer使用指南,包括了javascript轻量级模板引擎juicer使用指南的使用技巧和注意事项,需要的朋友参考一下 使用方法 编译模板并根据数据立即渲染出结果 仅编译模板暂不渲染,返回一个可重用的编译后的函数 根据给定的数据对之前编译好的模板进行渲染 注册/注销自定义函数(对象) 默认参数配置 修改默认配置,逐条修改 修改默认配置,批量修改
Jenkins Pipeline插件有一个称为“轻量级签出”的功能,其中主服务器仅从repo中提取Jenkinsfile,而不是整个repo。配置屏幕中有一个相应的复选框。我想在多分支管道中进行轻量级签出,但我在多分支配置屏幕中没有看到复选框。有什么想法如何实现这一点吗?我注意到一些关闭的问题表明此功能可用,但我无法找到任何有关如何实现它的细节。 相关资料: https://issues.jenk