定时任务配置

This commit is contained in:
tongfei
2023-10-27 10:20:31 +08:00
parent 8221eae779
commit f704cdd606
7 changed files with 398 additions and 5 deletions

View File

@@ -18,8 +18,8 @@
"AllowedCores": "localhost,http://localhost:8080,http://192.168.1.188:8080",
"RedisConnectionString": "47.110.156.96:16379,password=123456,DefaultDatabase=1",
"AppOptions": {
"DBConnectionString": "Server=192.168.1.253; Database=ops_db;User Id=root;password=bf69f5755f97e943;port=3306;CharSet=gb2312;Connect Timeout=150;",
"RedisConnectionString": "47.110.156.96:16379,password=123456,DefaultDatabase=1",
"DBConnectionString": "Server=192.168.1.253; Database=wms_db;User Id=root;password=bf69f5755f97e943;port=3306;CharSet=gb2312;Connect Timeout=150;",
"RedisConnectionString": "47.110.156.96:16379,password=123456,DefaultDatabase=2",
"RedisIpRateLimitingConnectionString": "47.110.156.96:16379,password=123456,DefaultDatabase=2",
"SingleBaseUrl": "http://47.110.156.96:8019/api",
"DBType": "Mysql",
@@ -27,12 +27,12 @@
"RedisDirectory": "Test"
},
"SoaOptions": {
"ModuleID": 9,
"ModuleID": 25,
"Url": "http://dev.uc.f2b211.com",
"AppId": "100528847652388864",
"AppSecret": "fa950a1fe690fe610338084b49db7db9",
"PublicKey": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsaVH9M7ooPlO1SwKy0MQImmJTid8aeBjQ99FED+WPwRlktAMtHiaTqlqmkeYhJT6XC5P72vqDDGfXOVr9s4BHuQsSGyzx7ChABmANMlsxy6xtI4II9gV5qAciZdviEDFCOD69C/ZJACX+36N0EjiricuYr/6KNMgDo1tXVUvTzgQEJTym6mZXl2Hs5HbERjEM5SNqBJW+iO+07twROG3sKvNCYBmB1XLsHQ99EbyvBQ1P2w/NqHXjtDSxy3sFhpFtxpgHSNe8eHJcFmPfj+Q6JUi4wEWmZUOjsLDhev6aaN7whQZfgdsPN3M8MMsVGpo3V+coWivprsCpzUIIUTLCQIDAQAB",
"PrivateKey": "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCxpUf0zuig+U7VLArLQxAiaYlOJ3xp4GND30UQP5Y/BGWS0Ay0eJpOqWqaR5iElPpcLk/va+oMMZ9c5Wv2zgEe5CxIbLPHsKEAGYA0yWzHLrG0jggj2BXmoByJl2+IQMUI4Pr0L9kkAJf7fo3QSOKuJy5iv/oo0yAOjW1dVS9POBAQlPKbqZleXYezkdsRGMQzlI2oElb6I77Tu3BE4bewq80JgGYHVcuwdD30RvK8FDU/bD82odeO0NLHLewWGkW3GmAdI17x4clwWY9+P5DolSLjARaZlQ6OwsOF6/ppo3vCFBl+B2w83czwwyxUamjdX5yhaK+muwKnNQghRMsJAgMBAAECggEAG2NYDK45v1ewh70ajOvx+Nw8hwgfblNh+nzZsP+csmqDHndk/g35/FayUMbpBMfTMZMST99bXjXoU/IrCwoHsjOLgD8CGK9qoxFLatgDJVJVo3iiWKRf/AaDX9MxJtiViCDnj+4wlBRjWirQwmP6Ts9Ln33pm5GxR40WZ2VSveutCkXWW16MmcT0gKHtEGoREoj+DYCziXaKpvFz+14p0u7wyCUsIEM0qxuGftjOkSGz0RhT6QfwY3TLKPD3C2N2slx3zdNEyFZNPSaugqEkZdUb2ZRGefIopmduo4eoeBce1d3HkyCeyOhmVBt0OBg5KXTey7FR7TDYpOJPFv/ZYQKBgQDRtQQfARg8fVouPPHlwBd90hMTaocmtp7gmIPRvNJgrXMEHU9SJuLifzml6gwX+3i2ltxenKOCHkUzA+rK7/iaUNcjTe2gRxJaLDoDRoLVc6M5Y4Mah3XkDpbYtQ4dJ4FZWxqZLwjeLikmcbPks1CqGFjFKyVwdqSLITvNC7AVZwKBgQDY3GeqBXcDe9SSRzwW52yp/R70TJMRMnCyg3lriJ0XvrFK3xGNWrBngxyODEZFUbphmkTBJlyMsEMYbAAJ7ofGAdmUhFa3rzD9q81dXNazk+suPmzBIepme7XSnthKUCEl7KJokhSZknnjmFncuIASpD2P5b2HyhA9ALrnVt/mDwKBgG1evxt8cqt5pQLgfjiZCqdwXMqPkJU8QXhZksZceEw7qfTHZIswBLykJejGPDB10utHmv8tKom+R9Dnhhj5Nuskpk+fYQNqjcPBtS/oImw4tzRDFilL5MxgX4P+SbIi3G9B+IlT4ogeAxAt1Oi+LJ/JuuJ6MjiJaB+34Xx7UAaZAoGATLgEkHiodvoK5MkAsBWlMqoSlli0uqO+jNjITsugz7KtpBAwdHJ979DJfFNJVOKp7jeWVUKOAVOmGPC0Ps89B0bGQ61hxE/dJBDwcTQT3KnazJxW+yhVdXYUh/OcDwY0A+eoORhc40uXhXXzbIt0+6NRCCQ9ndlVT09/z7HDOe8CgYBgDTUR7gwpWarWgD3eNcdmzvQCm/NAMVabUPnNu+79490vFJPUwXssjoN3W6q4VcPejaoEsOxbM5IoW5reDkybEoyPXu5EmLNMOa4XRklJAUmuDA2ASy6hlXB0bGfnmF9U+DFyYF6LR+YEVKnBL4IvZt/Fq6ni9/E+ReaZvQLX5w=="
"PublicKey": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp1qwbX5gSCAGTG//J4i485eVp+HbM36MTNnBCF6GVru9MA8ARHF/zktBxxqJRQOpTE0HZgWOf3bbSMPHjOq/Krn2uFUwTmgwuPzOfvckCFFCs6PMiR1pl4vsz1fLiFaaaZg3W8ynXl8e9uxVXFCn/Wt1sUAdf5zlmOPHMCdErSrMlNtW79ObN4jfFTLzYJf87+CfLno+Airh/oUK7aJpRjhIKb+1ED6WQa3HZeUyLTpvLgu3VFwmDYqBUUTe3XtvQhsOxlTyIYI1S8U/CB4weRJoAFalOVw6okNl+gM4Ccpm5VDHtyD0QvbL6UgxlI9GXeaTiPBhJyp7Z5MLcRzTrQIDAQAB",
"PrivateKey": "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCnWrBtfmBIIAZMb/8niLjzl5Wn4dszfoxM2cEIXoZWu70wDwBEcX/OS0HHGolFA6lMTQdmBY5/dttIw8eM6r8qufa4VTBOaDC4/M5+9yQIUUKzo8yJHWmXi+zPV8uIVpppmDdbzKdeXx727FVcUKf9a3WxQB1/nOWY48cwJ0StKsyU21bv05s3iN8VMvNgl/zv4J8uej4CKuH+hQrtomlGOEgpv7UQPpZBrcdl5TItOm8uC7dUXCYNioFRRN7de29CGw7GVPIhgjVLxT8IHjB5EmgAVqU5XDqiQ2X6AzgJymblUMe3IPRC9svpSDGUj0Zd5pOI8GEnKntnkwtxHNOtAgMBAAECggEAeuOBQiXWlZ/OgDqNZn5jMZxR7KFQ0RNP+u67bGXcx7u8RJn/XELr0pQ4jPfTbLYvjzPRBv11keu5QklhMvz9u2Yq4VjMzAZ+IJijGWBpOSJSlI7nFphefUXmcqrJbigJ4xg/Lk2taQL4PeF1HQCtGs3Z8npeLuMLRaWdEqMDLxRaYXCYoz/ZNvvbpIe8UBNDha13wpr/cvbiHWxrYUO+J13IkLAUce4IvCp1SJ1D0ljsfEWJ93+/mM0T9r6akCG4xXz38V3jyWSshHoeAaVQ4eWNoUcOizMF/1RKg/e/VmbLTZzQ/MeHXACYVD126iNk2orQ53pgFLFrrEvNHQJREQKBgQDJFgmp8QNiVWn4Yot+nFDNri2gatgMzvYFRCZNxzMO5SEOk8X1yCR69hPSMnMRHXvqOWzD0cBGu9G6g4hbymFDf/bkhLApe/8K4pclGYclKm1xerl+O24s8UEm4YUX6bDcZUW99rr3uWvXybJTo0iIFUo691NCNB11UWrJGAwtGwKBgQDVDnQVHHkK0mPqCVhx8AzHEqBOHF72gPzfg4skfX1LIJ4b3jvEly4zVAK5ipaj99LIVngmGshZU5HE7p57NVZtLBkoEtfCtrPs7nma4VDgPnW6Px1wxfWfSWncvuYS8VGO0UiEy7ysfZWnpP3An33GRiTp2GOxZF8XrLRZMlH21wKBgGoLxzjqM8CuDt7BCZPR2ANAciuBbUMD+la4pAKspM6cI5zObb26uRJnp/hYRrql8+2IL0Xt3hrvfiGAsG7IAhdY6tmE6GpYTB5vdQpJti3xfBo2gJCDwwzMhnF8yXXc9jqk5ezSq7NtA+SfJ/5XxC6QG7+RI0VsuoReVZSLrBA1AoGBAIH96ZGf57JUn6WBwjbyUbl8gdZmtQINvTvalKDU+AdIhW9XbnwKCaRDk84E4th0MmUNbQ1Ctg7aUEwpkwR1jJ/bkhXDOWWR98GN1yBKbQAE2+ug6qOOBMkFD9QhnVrdZfePdYGglSNhFFhO8IwAQ8sfrRIIdvsa1HIra3Yon53NAoGANkpa1YgEwAq3DFB7Vt2dBzABdfSCRIG6LqD2DzHt79q4Xxu6ifnAt8p/V3GRHiUeZMzxWCoYT20IBvUcNWN8SoNW683fMZYCzepxdIA8mlToPCwRRm1J1Kn/ATX1KiaScGnzdjth6aalsysCURBHWo35VufWParDjbOCr8cxQAE="
},
"ErpOptions": {
"EndpointAddress": "http://119.23.206.129/k3cloud/ERPGW.asmx",
@@ -55,5 +55,58 @@
"EspUrl": "https://esp-test.itrusign.cn/esp",
"EspAppId": "ark",
"EspAppSecret": "e5499b392e099ecfe633af12993d0d5f"
},
//<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
"QuartzJobOptions": {
//<2F><EFBFBD><E6B4A2><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD>ֵ
"JobStoreTypeKey": "quartz.jobStore.type",
"JobStoreTypeValue": "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz",
//<2F><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>mysql:<3A><><EFBFBD><EFBFBD>ֵ
"JobStoreDriverDelegateTypeKey": "quartz.jobStore.driverDelegateType",
"JobStoreDriverDelegateTypeValue": "Quartz.Impl.AdoJobStore.MySQLDelegate, Quartz",
//<2F><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>ǰ׺:<3A><><EFBFBD><EFBFBD>ֵ
"JobStoreTablePrefixKey": "quartz.jobStore.tablePrefix",
"JobStoreTablePrefixValue": "QRTZ_",
//<2F><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD>ֵ
"JobStoreDataSourceKey": "quartz.jobStore.dataSource",
"JobStoreDataSourceValue": "myDS",
//<2F><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>:<3A><><EFBFBD><EFBFBD>ֵ
"JobStoreConnectionStringKey": "quartz.dataSource.myDS.connectionString",
"JobStoreConnectionStringValue": "Server=192.168.1.253; Database=wms_db;User Id=root;password=bf69f5755f97e943;port=3306;CharSet=gb2312;Connect Timeout=150;",
//mysql<71><EFBFBD><E1B9A9>:<3A><><EFBFBD><EFBFBD>ֵ
"JobStoreProviderKey": "quartz.dataSource.myDS.provider",
"JobStoreProviderValue": "MySql",
//<2F><><EFBFBD>ʼִ<CABC><D6B4>
"JobStartHour": [ 15, 11, 1, 0, 0, 10 ],
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>ʼִ<CABC><D6B4>
"JobStartMinute": [ 30, 39, 30, 20, 5, 5 ],
//ִ<><D6B4>Cron<6F><6E><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>Сʱor<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>or<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>or<6F><72><EFBFBD><EFBFBD>or<6F><72><EFBFBD>ܣ<EFBFBD>
//"JobStartExpre": "0 0/2 * * * ?",
"JobStartExpre": "0 22 16 * * ?",
"JobStartExpreAmount": "0 50 23 * * ?",
//a.<2E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ü<EFBFBD>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
"JobStoreClusteredKey": "quartz.jobStore.clustered",
"JobStoreClusteredValue": true,
//b.<2E><>Ⱥ<EFBFBD>е<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>ڵ㶼<DAB5><E3B6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ψһ<CEA8><D2BB> instanceId
// ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AUTO<54><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><>ע<EFBFBD><D7A2>a<EFBFBD><61><EFBFBD>Ժ<EFBFBD>b<EFBFBD><62><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5>
"JobStoreInstanceIdKey": "quartz.scheduler.instanceId",
"JobStoreInstanceIdValue": "AUTO",
//<2F><><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
"QuartzJobKey": "OpsJob",
"QuartzJobValue": "OpsJobGroup",
"QuartzJobDescription": "OpsJob",
"QuartzTriggerIdentity": "OpsTrigger",
"QuartzTriggerDescription": "OpsJobTrigger"
}
}

View File

@@ -65,5 +65,19 @@
</summary>
<returns></returns>
</member>
<member name="M:WMS.Web.Api.Controllers.MoveBoxRecordController.GetPagedList(WMS.Web.Core.Dto.MoveBoxRecord.MoveBoxRecordQueryRequest)">
<summary>
列表
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Api.Controllers.MoveBoxRecordController.Save(WMS.Web.Core.Dto.ChangeBoxRecord.SaveChangeBoxRecordRequest)">
<summary>
保存
</summary>
<param name="dto"></param>
<returns></returns>
</member>
</members>
</doc>

View File

@@ -730,6 +730,11 @@
用户类型1为员工2为供应商3为客户
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.MoveBoxRecord.MoveBoxRecordQueryRequest">
<summary>
移箱列表请求
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.PaginationRequestDto.OrgId">
<summary>
组织Id(所有列表页都需要 全局)

View File

@@ -1127,6 +1127,136 @@
采购入库:字段
</summary>
</member>
<member name="T:WMS.Web.Domain.Options.QuartzJobOptions">
<summary>
Quartz定时任务-配置项
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreTypeKey">
<summary>
存储类型:键
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreTypeValue">
<summary>
存储类型:值
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreDriverDelegateTypeKey">
<summary>
数据库驱动类型-这里是mysql:键
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreDriverDelegateTypeValue">
<summary>
数据库驱动类型-这里是mysql:值
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreTablePrefixKey">
<summary>
数据库表名前缀:键
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreTablePrefixValue">
<summary>
数据库表名前缀:值
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreDataSourceKey">
<summary>
数据源的名称:键
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreDataSourceValue">
<summary>
数据源的名称:值
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreConnectionStringKey">
<summary>
连接字符串:键
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreConnectionStringValue">
<summary>
连接字符串:值
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreProviderKey">
<summary>
mysql提供器:键
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreProviderValue">
<summary>
mysql提供器:值
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStartHour">
<summary>
几点后开始执行
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStartMinute">
<summary>
几分钟后开始执行
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStartExpre">
<summary>
执行Cron表达式可以是几小时or几分钟or几秒钟or几天or几周
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStartExpreAmount">
<summary>
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreClusteredKey">
<summary>
是否启用集群:键
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreClusteredValue">
<summary>
是否启用集群:值
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreInstanceIdKey">
<summary>
节点都必须有一个唯一ID
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreInstanceIdValue">
<summary>
节点都必须有一个唯一ID
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.QuartzJobKey">
<summary>
工作名称:键
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.QuartzJobValue">
<summary>
工作名称:值
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.QuartzJobDescription">
<summary>
工作描述
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.QuartzTriggerIdentity">
<summary>
触发器身份认证信息
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.QuartzTriggerDescription">
<summary>
触发器描述
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.SoaOptions.Url">
<summary>
单点系统地址

View File

@@ -0,0 +1,141 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WMS.Web.Domain.Options
{
/// <summary>
/// Quartz定时任务-配置项
/// </summary>
public class QuartzJobOptions
{
/// <summary>
/// 存储类型:键
/// </summary>
public string JobStoreTypeKey { get; set; }
/// <summary>
/// 存储类型:值
/// </summary>
public string JobStoreTypeValue { get; set; }
/// <summary>
/// 数据库驱动类型-这里是mysql:键
/// </summary>
public string JobStoreDriverDelegateTypeKey { get; set; }
/// <summary>
/// 数据库驱动类型-这里是mysql:值
/// </summary>
public string JobStoreDriverDelegateTypeValue { get; set; }
/// <summary>
/// 数据库表名前缀:键
/// </summary>
public string JobStoreTablePrefixKey { get; set; }
/// <summary>
/// 数据库表名前缀:值
/// </summary>
public string JobStoreTablePrefixValue { get; set; }
/// <summary>
/// 数据源的名称:键
/// </summary>
public string JobStoreDataSourceKey { get; set; }
/// <summary>
/// 数据源的名称:值
/// </summary>
public string JobStoreDataSourceValue { get; set; }
/// <summary>
/// 连接字符串:键
/// </summary>
public string JobStoreConnectionStringKey { get; set; }
/// <summary>
/// 连接字符串:值
/// </summary>
public string JobStoreConnectionStringValue { get; set; }
/// <summary>
/// mysql提供器:键
/// </summary>
public string JobStoreProviderKey { get; set; }
/// <summary>
/// mysql提供器:值
/// </summary>
public string JobStoreProviderValue { get; set; }
/// <summary>
/// 几点后开始执行
/// </summary>
public List<int> JobStartHour { get; set; }
/// <summary>
/// 几分钟后开始执行
/// </summary>
public List<int> JobStartMinute { get; set; }
/// <summary>
/// 执行Cron表达式可以是几小时or几分钟or几秒钟or几天or几周
/// </summary>
public string JobStartExpre { get; set; }
/// <summary>
///
/// </summary>
public string JobStartExpreAmount { get; set; }
/// <summary>
/// 是否启用集群:键
/// </summary>
public string JobStoreClusteredKey { get; set; }
/// <summary>
/// 是否启用集群:值
/// </summary>
public string JobStoreClusteredValue { get; set; }
/// <summary>
/// 节点都必须有一个唯一ID
/// </summary>
public string JobStoreInstanceIdKey { get; set; }
/// <summary>
/// 节点都必须有一个唯一ID
/// </summary>
public string JobStoreInstanceIdValue { get; set; }
/// <summary>
/// 工作名称:键
/// </summary>
public string QuartzJobKey { get; set; }
/// <summary>
/// 工作名称:值
/// </summary>
public string QuartzJobValue { get; set; }
/// <summary>
/// 工作描述
/// </summary>
public string QuartzJobDescription { get; set; }
/// <summary>
/// 触发器身份认证信息
/// </summary>
public string QuartzTriggerIdentity { get; set; }
/// <summary>
/// 触发器描述
/// </summary>
public string QuartzTriggerDescription { get; set; }
}
}

View File

@@ -29,4 +29,8 @@
<ProjectReference Include="..\WMS.Web.Core\WMS.Web.Core.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="QuartzJob\" />
</ItemGroup>
</Project>

View File

@@ -4,6 +4,7 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.OpenApi.Models;
using Newtonsoft.Json.Serialization;
using Quartz;
using System;
using System.Collections.Generic;
using System.IO;
@@ -54,6 +55,7 @@ namespace WMS.Web.Repositories.DependencyInjection
this.AddOther();
this.AddConfigOptions();
this.AddServiceRepositories();
this.AddQuartzService();
}
/// <summary>
/// 其它功能注入AutoMapper等其它
@@ -174,6 +176,50 @@ namespace WMS.Web.Repositories.DependencyInjection
Services.Configure<ErpOptions>(Configuration.GetSection("ErpOptions"));
}
/// <summary>
/// Quartz定时任务-可分布式集群
/// </summary>
private void AddQuartzService()
{
var options = Configuration.GetSection("QuartzJobOptions").Get<QuartzJobOptions>();
//Services.AddTransient<InventoryQuartzJob>();//添加注入定时服务
//Services.AddTransient<OrderContractQuartzJob>();//添加注入定时服务
Services.AddQuartz(q =>
{
q.UsePersistentStore(x =>
{
//存储类型
x.Properties[options.JobStoreTypeKey] = options.JobStoreTypeValue;
//数据库驱动类型-这里是mysql
x.Properties[options.JobStoreDriverDelegateTypeKey] = options.JobStoreDriverDelegateTypeValue;
//表名前缀
x.Properties[options.JobStoreTablePrefixKey] = options.JobStoreTablePrefixValue;
//数据源名称
x.Properties[options.JobStoreDataSourceKey] = options.JobStoreDataSourceValue;
//连接字符串
x.Properties[options.JobStoreConnectionStringKey] = options.JobStoreConnectionStringValue;
//sqlserver版本
x.Properties[options.JobStoreProviderKey] = options.JobStoreProviderValue;
//是否启用集群:是
x.Properties[options.JobStoreClusteredKey] = options.JobStoreClusteredValue;
//集群节点都必须有一个唯一ID
x.Properties[options.JobStoreInstanceIdKey] = options.JobStoreInstanceIdValue;
x.UseProperties = true;
x.UseClustering();
x.UseJsonSerializer();
});
//用于注入
q.UseMicrosoftDependencyInjectionJobFactory();
});
//.net core核心托管-添加Quartz服务器
Services.AddQuartzServer(options =>
{
//关闭时,我们希望作业正常完成
options.WaitForJobsToComplete = false;
});
}
/// <summary>
/// 注入服务层
/// </summary>