Workflow Engine Design and Implementation · Task Blocking and Execution

In the previous article, when we talked about the task model, we mentioned blocking tasks, so how is this formed in the workflow? What is the relationship between blocking tasks and task models? Let’s do a simple analysis below. Here is still the simplest process as an example: Process definition Process Description node name display […]

Workflow engine design and implementation · Parsing process definition files

In the previous article, we manually built a process object and simply printed and executed it. The way to build a process object is not very friendly. In order to build process objects more conveniently, we adopt a new method, that is, parse the process definition files mentioned in the basics and convert them into […]

Workflow engine design and implementation·Simple execution of process

Foreword The model has been highly abstracted above, and this article will further explain the model behavior. Here begins with a question: How to let the process go from the start node to the end node according to the arrow point? StartModel(start)->TaskModel(apply)->TaskModel(deptApprove)->EndModel(end) Execution process analysis Object graph: Timing diagram: Description of execution process: The start […]

Workflow engine design and implementation · Conditional process execution

In the simple execution of the process section, we let a common sequential process go from the start node to the end node. What if it is a conditional process? How should we deal with it? Process definition The flow chart rendered in the figure above can be generated from the following two process definition […]

Spring Boot integrated process engine Flowable (with source code address)

1. Import dependencies flowable depends on: <dependency> <groupId>org.flowable</groupId> <artifactId>flowable-spring-boot-starter</artifactId> <version>6.7.2</version> </dependency> pom.xml: <?xml version=”1.0″ encoding=”UTF-8″?> <project xmlns=”″ xmlns:xsi=”” xsi:schemaLocation=””> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>flowable_study</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.6.6</version> </parent> <properties> <maven.compiler.source>11</maven.compiler.source> <>11</> </properties> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.29</version> </dependency> <dependency> <groupId></groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.8</version> </dependency> <dependency> <groupId>org.flowable</groupId> <artifactId>flowable-spring-boot-starter</artifactId> <version>6.7.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>cn.hutool</groupId> […]

(Article reproduction) A preliminary study on the calculation method of carbon emission flow in power system (including matlab code)

References: Zhou Tianrui, Kang Chongqing, Xu Qianyao, Chen Qixin. Preliminary Study on the Calculation Method of Carbon Emission Flow in Power System [J]. Automation of Electric Power System, 2012,36(11):44-49. The dual carbon target is still very popular in the power system field recently It’s hot, and the calculation of carbon emission flow is also a […]

How to configure the CPU and GPU versions of the tensorflow library on Linux Ubuntu

This article introduces the configuration that can be run by CPU or GPU in Ubuntu of the Linux operating system. Methods of Python new version of deep learning library tensorflow. In the article Anaconda configures the new version of the Python tensorflow library (CPU, GPU common) method ( and the configuration method of the new […]

GPU server fool-proof installation of Anaconda, pytorch, tensorflow

1. Download Anaconda installation package, official website address, Tsinghua source address. After downloading from the official website to the local, you can upload the installation package to the server through file transfer, and use the Tsinghua source address to directly use wget to download the required version, for example: wget 2. Install Anaconda bash […]