python工作流引擎workflow.py_一个适合于.NET Core的超轻量级工作流引擎:Workflow-Core...

本文介绍了Workflow-Core,一个基于.NET Standard的轻量级工作流引擎,支持FluentAPI、多任务、持久化和并行处理。文章展示了如何在.NET Core项目中使用Workflow-Core,包括Hello World示例、条件分支、MySQL持久化、计划任务和循环任务,以及在ASP.NET Core中的应用,强调了其在小型工作流开发中的适用性。
摘要由CSDN通过智能技术生成

一、关于Workflow-Core

近期工作上有一个工作流的开发需求,自己基于面向对象和职责链模式捣鼓了一套小框架,后来在github上发现一个轻量级的工作流引擎轮子:Workflow-Core,看完其wiki之后决定放弃之前自己造的轮子,使用这个开源项目来改造,也就有了这一篇博文。

Workflow-Core是一个基于.NET Standard的轻量级工作流引擎,其GitHub地址为:https://github.com/danielgerlag/workflow-core,目前有超过1200+个star。它提供了FluentAPI、多任务、持久化以及并行处理的功能,适合于小型工作流、责任链的需求开发。

由于Workflow-Core支持工作流长期运行,因此Workflow-Core支持以下多种数据源格式的持久化,可以通过安装不同的Provider包来实现对应的持久化:

(默认提供,用于测试和开发)内存

MongoDB

MS SQL Server

MySql

Sqlite

Redis

PostgreSQL

立刻上手把,Nuget上安装一把,目前最新版本2.0.0:

PM> Install-Package WorkflowCore

二、Workflow-Core的基本使用

2.1 Hello World

这里创建了一个.NET Core控制台应用程序,快速演示第一个Workflow-Core的Hello World,展示如何开始一个Workflow:

(1)定义一个实现IWorkflow接口的Workflow:

public classHelloWorldWorkflow : IWorkflow

{public string Id => "HelloWorld";public int Version => 1;public void Build(IWorkflowBuilderbuilder)

{

builder

.StartWith()

.Then()

.Then();

}

}

这里定义了一个HelloWorldWorkflow,其版本号为1,它有3个步骤:HelloWorld、ActiveWorld和GoodbyeWorld,会依次执行。

(2)定义三个继承自StepBody类的步骤类:

public classHelloWorld : StepBody

{public overrideExecutionResult Run(IStepExecutionContext context)

{

Console.WriteLine("Hello World!");returnExecutionResult.Next();

}

}public classActiveWorld : StepBody

{public overrideExecutionResult Run(IStepExecutionContext context)

{

Console.WriteLine("I am activing in the World!");returnExecutionResult.Next();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值