ScheduleMasterCore 项目教程
1. 项目的目录结构及介绍
ScheduleMasterCore 是一个基于 .NET Core 平台的分布式任务调度系统。项目的目录结构如下:
ScheduleMasterCore/
├── docs/
│ └── 1-部署方式介绍.md
├── src/
│ ├── Hos.ScheduleMaster.Core/
│ ├── Hos.ScheduleMaster.QuartzHost/
│ └── Hos.ScheduleMaster.Web/
├── .gitignore
├── LICENSE
├── README.md
├── azure-pipelines.yml
├── publish.ps1
└── publish.sh
目录结构介绍
- docs/: 包含项目的文档文件,如部署方式介绍等。
- src/: 包含项目的源代码,主要分为三个子项目:
- Hos.ScheduleMaster.Core/: 核心库,包含任务调度的核心逻辑。
- Hos.ScheduleMaster.QuartzHost/: 任务执行的主机,负责实际的任务执行。
- Hos.ScheduleMaster.Web/: Web 界面,提供任务管理的 UI 操作。
- .gitignore: Git 忽略文件配置。
- LICENSE: 项目许可证文件。
- README.md: 项目介绍和使用说明。
- azure-pipelines.yml: Azure Pipelines 配置文件。
- publish.ps1: Windows 平台下的发布脚本。
- publish.sh: Linux 平台下的发布脚本。
2. 项目的启动文件介绍
Hos.ScheduleMaster.Web
- 启动文件:
Hos.ScheduleMaster.Web.dll
- 启动命令:
dotnet Hos.ScheduleMaster.Web.dll
- 功能: 提供任务调度的 Web 管理界面,用户可以通过浏览器访问该界面进行任务的创建、启动、停止等操作。
Hos.ScheduleMaster.QuartzHost
- 启动文件:
Hos.ScheduleMaster.QuartzHost.dll
- 启动命令:
dotnet Hos.ScheduleMaster.QuartzHost.dll --urls http://*:30001
- 功能: 任务执行的主机,负责实际的任务执行。可以通过配置文件指定多个 worker 节点。
3. 项目的配置文件介绍
Hos.ScheduleMaster.Web/appsettings.json
{
"ConnectionStrings": {
"DefaultConnection": "Server=your_server;Database=your_database;User Id=your_user;Password=your_password;"
},
"NodeSetting": {
"IP": "your_ip_address",
"Port": 30000
}
}
- ConnectionStrings: 数据库连接字符串,用于连接到 MySQL 数据库。
- NodeSetting: 节点配置,指定 master 节点的 IP 地址和端口。
Hos.ScheduleMaster.QuartzHost/appsettings.json
{
"ConnectionStrings": {
"DefaultConnection": "Server=your_server;Database=your_database;User Id=your_user;Password=your_password;"
},
"NodeSetting": {
"IdentityName": "worker1",
"IP": "your_ip_address",
"Port": 30001
}
}
- ConnectionStrings: 数据库连接字符串,用于连接到 MySQL 数据库。
- NodeSetting: 节点配置,指定 worker 节点的名称、IP 地址和端口。
通过以上配置文件,可以灵活地配置 ScheduleMasterCore 项目的运行环境和节点信息。