[.net项目实战] elsa开源工作流组件应用(三):实战演练-编程思维

目录补充需求描述需求分析代码实现下发问卷活动 PublishQuestionnaireActivity通知活动:NotificationActivity等待问卷完成活动:WaitFillInSurveyActivity定时和延时活动:问卷活动:QuestionnaireActivity创建工作流开始工作流TroubleShooting 补充 之前的文章简单介绍了工作流和Elsa工作流库,这里再补

[.net项目实战] elsa开源工作流组件应用(二):内核解读-编程思维

@目录定义变量内存寄存器类寄存器中的存储区块类变量到存储的映射类上下文对象活动上下文(ActivityExecutionContext)工作流执行上下文(WorkflowExecutionContext)表达式执行上下文(ExpressionExecutionContext)构建构建活动构建工作流运行注册注册工作流注册活动填充Invoke活动可观测性设计器与APIs工作流配置查看工作流状态 本篇

[.net项目实战] elsa开源工作流组件应用(一): elsa工作流简介-编程思维

Elsa工作流简介 工作流是什么? 引用维基百科中对工作流的解释: 是对工作流程及其各操作步骤之间业务规则的抽象、概括、描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算 Elsa 是一个功能强大的工作流库,支持在任何 .NET 应用程序中执行工作流。Elsa 可以使用C#代码或使用基于Web的可视化设计器生成JSON等方式定义工

github actions 入门指南-编程思维

前言 GitHub Actions 可以构建一组自动化的工作流程,并提供了拉取请求、合并分支等事件来触发他们。一般成熟的开源项目会在每个版本发布时提供 releases ,它就是通过 Actions 来自动发布的。本文就以自动发布 releases 这个例子来认识 Actions。 创建 workflow workflow 被称为工作流,每个工作流以一个 yaml 文件表达。在仓库中建立 .gi

个人文章-编程思维

Workflow中有一个小而美的json-parser,一千行代码写得非常典雅精致。不仅可以学习到经典的C语言写法、递归解析的架构、与内核近似的编码风格、简洁的接口设计,而且也非常方便引入项目中作为轻量级的json解析器。由于是开源项目Workflow的子模块之一,所以代码质量和开源项目的长期投入都有保证~~~围观地址:https://github.com/Barenboim/...1、基于ANS

极狐gitlab_devops-编程思维

本文来自:万金 极狐(GitLab)解决方案专家杨周 极狐(GitLab) 高级解决方案架构师极狐(GitLab) 市场部内容团队我们提到的 Workflow 是指什么?我们在日常开发工作中提到的 Workflow 通常是指通过 Git(版本控制工具)实现的分布式版本控制(distributed revision control),它允许多名软件开发者,在不同的网络环境下,参与同一个软件开发项目。

个人文章-编程思维

使用 Vue3 + Element Plus + Go 重构 ferry 工单系统项目介绍2020 年 7 月 13 日,我第一次提交了 ferry 工单系统的代码,当时其实就是想将自己心中构思的工单系统实现出来。出乎意料的收到了大家关注,同时登上了 github 和 gitee 的榜单,让这个系统让更多的人知道了。由于之前架构设计的有些许潦草,所以部分地方其实拓展起来是有点乏力的。且技术大版本的

无序和混乱终结者,极狐 gitlab workflow 到底有什么魔力? - 编程思维

效率和质量是软件产品追求的两个核心关键点,软件产品研发是一个覆盖多阶段、涉及多团队的过程,业界也已经总结出了一些很好的实践,在保证研发效率的同时还能保证代码质量。比如代码提交规范、Code Review、代码准入、CI/CD。但是由于缺乏行之有效的研发流程规范,让上述实践在落地的时候往往流于形式、可有可无,让保证质量、提升效率成为悬而难落的话题。而代码提交不规范、不同开发模式下代码审核与准入环节的

flowable 设置流程变量的四种方式 - 编程思维

@[toc]在之前的文章中,松哥也有和小伙伴们使用过流程变量,然而没有和大家系统的梳理过流程变量的具体玩法以及它对应的数据表详情,今天我们就来看看 Flowable 中流程变量的详细玩法。1. 为什么需要流程变量首先我们来看看为什么需要流程变量。举一个简单的例子,假设我们有如下一个流程:这是一个请假流程,那么谁请假、请几天、起始时间、请假理由等等,这些都需要说明,不然领导审批的依据是啥?那么如何传

flowable 已经执行完毕的流程去哪找? - 编程思维

@[toc]在之前的文章中松哥和小伙伴们聊过,正在执行的流程信息是保存在以 ACT_RU_ 为前缀的表中,执行完毕的流程信息则保存在以 ACT_HI_ 为前缀的表中,也就是流程历史信息表,当然这个历史信息表继续细分的话,还有好多种,今天我们就来聊一聊这个话题。假设我有如下一个流程:当这个流程执行完毕后,以 ACT_RU_ 为前缀的表中的数据均已清空,现在如果想查看刚刚执行过的流程信息,我们就得去以

flowable 定时器的各种玩法 - 编程思维

@[toc]今天我们来聊一聊 Flowable 中的定时器。1. 流程定义定时激活在之前松哥给小伙伴们介绍流程定义的时候,流程都是定义好之后立马就激活了,其实在流程定义的这个过程中,我们还可以设置一个激活时间,也就是流程定义好之后,并不会立马激活(不激活就不能据此流程定义创建新流程),而是在延迟某一个固定时间之后,才会激活,代码如下:@RestController public class Pro

流程表单初体验 - 编程思维

@[toc]有小伙伴在星球上催了好几次了,今天松哥就来和大家聊一聊流程中的表单。1. 表单分类整体上来说,我们可以将表单分为三种不同的类型:动态表单:这种表单定义方式我们可以配置表单中每一个字段的可读性、可写性、是否必填等信息,不过不能定义完整的表单页面。外置表单:外置表单我们只需要定义一下表单的 key,至于这个 key 对应的表单是什么样子,则由开发者自己去维护。内置表单:这是内置的表单定义以

flowable 外置的 html 表单怎么玩? - 编程思维

上篇文章我们一起学习了 Flowable 中的动态表单,动态表单说白了就是把变量打包定义,零存整取。但是小伙伴们可能很难实实在在 GET 到动态表单一些有创造性的功能,所以今天我们就来继续看看 Flowable 中的外置表单怎么玩,这个跟动态表单有一些本质上的差别。1. 外置表单首先,所谓的外置表单,其实说白了,类似我们平时在 HTML 中写的 form 表单。现在的 flowable 中,我们既

体验一把 flowable 三种常见网关 - 编程思维

Flowable 中网关类型其实也不少,常见的主要有三种类型,分别是:排他网关并行网关包容网关这三个里边最常用的当然就是排他网关了,今天松哥就来和小伙伴们聊一聊这三种网关,一起来体验一把这三种网关各自的特征。1. 排他网关首先就是排他网关了,这个也叫互斥网关,长得像下图这样:排他网关可以有 N 个入口,但是只有一个有效出口。松哥举一个例子:假设我有一个请假流程,请假 1 天,组长审批,请假小于 3

workflow,要不要了解一下_华为云开发者联盟-编程思维

摘要:Workflow本质是开发者基于实际业务场景开发用于部署模型或应用的流水线工具。 Workflow(也称工作流,下文中均可使用工作流进行描述)本质是开发者基于实际业务场景开发用于部署模型或应用的流水线工具。在机器学习的场景中,流水线可能会覆盖数据标注、数据处理、模型开发/训练、模型评估、应用开发、应用评估等步骤。 区别于传统的机器学习模型构建,开发者可以使用Workflow开发生产流水线

flowable 服务任务执行的三种方式 - 编程思维

前面和小伙伴们分别聊了 Flowable 中的 ReceiveTask 和 UserTask,今天我们来看看另外一个比较常见的 Task --> ServiceTask。1. ServiceTaskServiceTask 从名字上看就是服务任务,它的图标一般是像下面这样:ServiceTask 一般由系统自动完成,当流程走到这一步的时候,不会自动停下来,而是会去执行我们提前在 Service

在 java 代码中来一段 javascript?聊聊 flowable 中的脚本任务 - 编程思维

前面的文章我们一起玩了 Flowable 中的 ServiceTask,今天我们再来看看 Flowable 中的脚本任务。1. 脚本任务个人感觉脚本任务和我们前面说的 ServiceTask 很像,都是流程走到这个节点的时候自动做一些事情,不同的是,在 ServiceTask 中,流程在这个节点中所做的事情是用 Java 代码写的,在脚本任务中,流程在这个节点中所做的事情则是用其他一些脚本语言如

流程引擎的架构设计 - 编程思维

1 什么是流程引擎流程引擎是一个底层支撑平台,是为提供流程处理而开发设计的。流程引擎和流程应用,以及应用程序的关系如下图所示。常见的支撑场景有:Workflow、BPM、流程编排等。本次分享,主要从BPM流程引擎切入,介绍流程引擎的架构设计方法。1.1 什么是流程简单来说,流程就是一系列活动的组合。比如,用于企业办公的OA系统中,就存在大量的申请审批类的流程。在生产制造业,有大量的从销售端的订单,

flowable 按角色分配任务 - 编程思维

@[toc]前面松哥和大家分享的都是给 UserTask 设置处理人或者是候选用户,不过小伙伴们也知道,在我们为 UserTask 设置处理人的时候,除了设置单个的处理人,也可以设置 Group,就是某一个用户组内的所有用户都可以处理该 Task。在 Flowable 中使用 Group 去归类某一类用户,但是这个实际上类似于我们在自己系统中平时所用的角色 Role。也就是说,我们可以按照角色去给

flowable 设置任务处理人的四种方式 - 编程思维

@[toc]上篇文章松哥和大家分享了 Flowable 中的 ReceiveTask,这只是流程中任务的一种,今天我们就一起来看另外一个更为常见的 Task--UserTask。UserTask 看名字就知道,需要人工干预,而人工处理的方式有很多种,我们可以设置节点是由哪个用户处理,也可以设置是由哪个用户组来处理(相当于是由哪个角色来处理),今天这篇文章我主要和大家分享设置用户的三种方式,至于如何