hey-hoho / ScheduleMasterCore

This is a distributed task management system base on .Net Core platform .
Apache License 2.0
853 stars 245 forks source link
cross-platform distributed netcore scheduler web

schedulemaster

ScheduleMaster是一个开源的分布式任务调度系统,它基于.NET Core 3.1平台构建,支持跨平台多节点部署运行。

Build Status Nuget PowerShell Gallery GitHub last commit .NET Core

主要特性


技术栈

ASP.NET Core3.1、EntityFramework Core3.0、Mysql5.7、Quartz.Net、BeyondAdmin、Jquery...


系统架构图

architecture.png

如何使用

使用前请准备好所需环境:Visual Studio 2019.NET Core3.1 SDKMysql 5.7(可选)SQLServer(可选)PostgreSQL(可选)Centos(可选)Docker(可选)

下面以Mysql作为数据库,用配置文件方式启动为例做介绍,其他方式参考详细文档。

下载源码到本地,然后用VS2019打开解决方案并编译通过。

打开项目Hos.ScheduleMaster.Web根目录下的appsettings.json文件,先修改Mysql数据库连接字符串以保证数据库正常访问,再找到NodeSetting节点,修改IP字段为master将要部署的ip地址(master端口为30000不用修改),在项目上右击选择发布...,发布到本地文件夹。

打开项目Hos.ScheduleMaster.QuartzHost根目录下的appsettings.json文件,同样先修改Mysql连接字符串,再找到NodeSetting节点,设置worker的名称IdentityName,修改IP字段为将要部署的ip地址,Port字段为要监听的地址(推荐为30001),在项目上右击选择发布...,发布到本地文件夹。如果要新增worker,按同样方式配置IdentityName、IP、Port即可,worker在启动后会把自己的信息注入到数据库中,在master中可以看到。

快速发布小贴士:windows平台下用powershell执行脚本publish.ps1快速发布到d:/sm-publish目录,linux平台下执行脚本sh publish.sh快速发布到/home/sm-publish目录。

其他发布方式亦可。下面以运行2个worker节点为例:

在Windows中运行

在Linux(Centos)中运行

运行前请确保机器已经安装好.NET Core3.1运行时环境。

把发布文件复制到Centos中,操作步骤同Windows。

在Docker中运行


效果图

image.png

image.png

image.png

image.png

image.png

image.png


文档


交流学习

QQ群:824535095


使用情况


赞赏

金额请随意,赞赏请备注~

wechat.png alipay.png