diff --git a/README.md b/README.md index a5330ef..46ad4a8 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ ScheduleMaster是一个开源的分布式任务调度系统,它基于.NET Core - [x] 高可用支持,跨平台多节点部署。 - [x] 数据安全性,不会出现多实例并发调度。 - [x] 支持自定义参数设置; +- [x] 支持.NET Core和.NET Framework(4.6.1+); - [x] 支持自定义配置文件和热更新; - [x] 支持设置监护人,运行异常时邮件告警; - [x] 支持设置任务依赖,自动触发,共享任务结果; @@ -34,7 +35,7 @@ ScheduleMaster是一个开源的分布式任务调度系统,它基于.NET Core - [ ] 资源监控; - [x] 支持异常策略配置(失败重试、超时控制等); - [ ] 接入redis缓存; -- [ ] 多数据库类型支持; +- [x] 多数据库类型支持; - [ ] 用户权限更加精细化; - [ ] 报表统计完善; @@ -51,9 +52,9 @@ ASP.NET Core3.1、EntityFramework Core3.0、Mysql5.7、Quartz.Net、BeyondAdmin ## 如何使用 -> 使用前请准备好所需环境:`Visual Studio 2019`、`.NET Core3.1 SDK`、`Mysql 5.7`、`Centos(可选)`、`Docker(可选)`。 +> 使用前请准备好所需环境:`Visual Studio 2019`、`.NET Core3.1 SDK`、`Mysql 5.7(可选)`、`SQLServer(可选)`、`PostgreSQL(可选)`、`Centos(可选)`、`Docker(可选)`。 -下面以用**配置文件方式**启动为例做介绍,其他方式参考详细文档。 +下面以Mysql作为数据库,用**配置文件方式**启动为例做介绍,其他方式参考详细文档。 下载源码到本地,然后用VS2019打开解决方案并编译通过。 diff --git "a/docs/1-\351\203\250\347\275\262\346\226\271\345\274\217\344\273\213\347\273\215.md" "b/docs/1-\351\203\250\347\275\262\346\226\271\345\274\217\344\273\213\347\273\215.md" index 69ffaa0..ea129ed 100644 --- "a/docs/1-\351\203\250\347\275\262\346\226\271\345\274\217\344\273\213\347\273\215.md" +++ "b/docs/1-\351\203\250\347\275\262\346\226\271\345\274\217\344\273\213\347\273\215.md" @@ -21,6 +21,20 @@
+### 多数据库支持 + +目前项目支持使用`Mysql`、`SQLServer`、`PostgreSQL`三种类型的数据库作为持久化。 + +在文件`appsettings.json`中的DbConnector节点配置了使用的数据库类型以及连接字符串: + +- Provider的可选值:sqlserver、postgresql、mysql,默认为mysql +- ConnectionString是对应数据库类型的连接字符串,格式示例: + - sqlserver:"Persist Security Info = False; User ID =sa; Password =123456; Initial Catalog =schedule_master; Server =." + - postgresql:"Server=localhost;Port=5432;Database=schedule_master;User Id=postgres;Password=123456;Pooling=true;MaxPoolSize=20;" + - mysql:"Data Source=localhost;Database=schedule_master;User ID=root;Password=123456;pooling=true;CharSet=utf8mb4;port=3306;sslmode=none;TreatTinyAsBoolean=true" + +> 要注意的是,Master和Worker必须使用同一个数据库。 + ### 静态配置文件启动 这是项目早期唯一支持的启动方式,在节点启动前通过修改配置文件`appsettings.json`中指定配置项`NodeSetting`的参数实现节点信息配置。 @@ -54,7 +68,7 @@ 为了充分适应容器部署,我设计了动态参数启动模式,支持使用运行时参数改变节点配置。 -在自动注册模式下,可以使用命令行参数覆盖对应的配置文件参数,对应的参数名分别是:`--identity`、`--protocol`、`--ip`、`--port`、`--priority`,这种模式下还是要依赖于配置文件,只是动态参数有更高的优先级。 +在自动注册模式下,可以使用命令行参数覆盖对应的配置文件参数,对应的参数名分别是:`--identity`、`--protocol`、`--ip`、`--port`、`--priority`、`--maxc`,这种模式下还是要依赖于配置文件,只是动态参数有更高的优先级。 在手动连接模式下,节点信息依赖于控制台中的配置,**但是必须要使用动态参数告诉应用禁用自动注册**,有如下2种方式: diff --git "a/docs/1-\351\205\215\347\275\256\346\226\207\344\273\266\345\220\257\345\212\250.md" "b/docs/1-\351\205\215\347\275\256\346\226\207\344\273\266\345\220\257\345\212\250.md" index 6c323a6..040bd64 100644 --- "a/docs/1-\351\205\215\347\275\256\346\226\207\344\273\266\345\220\257\345\212\250.md" +++ "b/docs/1-\351\205\215\347\275\256\346\226\207\344\273\266\345\220\257\345\212\250.md" @@ -41,7 +41,8 @@ "Protocol": "http", //访问协议 "IP": "localhost", //IP地址 "Port": 30001, //访问端口 - "Priority": 1 //权重 + "Priority": 1, //权重 + "MaxConcurrency": 20 //quartz实例最大并发量 } } ```