From f704cdd6064ac7362f1171514cd3a283bde34765 Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Fri, 27 Oct 2023 10:20:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/appsettings.json | 63 +++++++- src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml | 14 ++ src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 5 + src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 130 ++++++++++++++++ .../Options/QuartzJobOptions.cs | 141 ++++++++++++++++++ src/WMS.Web.Domain/WMS.Web.Domain.csproj | 4 + .../DependencyInjection/AppBuilder.cs | 46 ++++++ 7 files changed, 398 insertions(+), 5 deletions(-) create mode 100644 src/WMS.Web.Domain/Options/QuartzJobOptions.cs diff --git a/src/WMS.Web.Api/appsettings.json b/src/WMS.Web.Api/appsettings.json index 5d339f50..a64dae65 100644 --- a/src/WMS.Web.Api/appsettings.json +++ b/src/WMS.Web.Api/appsettings.json @@ -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" + }, + //定时任务配置项 + "QuartzJobOptions": { + //存储类型:键和值 + "JobStoreTypeKey": "quartz.jobStore.type", + "JobStoreTypeValue": "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz", + + //数据库驱动类型-这里是mysql:键和值 + "JobStoreDriverDelegateTypeKey": "quartz.jobStore.driverDelegateType", + "JobStoreDriverDelegateTypeValue": "Quartz.Impl.AdoJobStore.MySQLDelegate, Quartz", + + //数据库表名前缀:键和值 + "JobStoreTablePrefixKey": "quartz.jobStore.tablePrefix", + "JobStoreTablePrefixValue": "QRTZ_", + + //数据源的名称:键和值 + "JobStoreDataSourceKey": "quartz.jobStore.dataSource", + "JobStoreDataSourceValue": "myDS", + + //连接字符串:键和值 + "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提供器:键和值 + "JobStoreProviderKey": "quartz.dataSource.myDS.provider", + "JobStoreProviderValue": "MySql", + + //几点开始执行 + "JobStartHour": [ 15, 11, 1, 0, 0, 10 ], + //几分钟开始执行 + "JobStartMinute": [ 30, 39, 30, 20, 5, 5 ], + + //执行Cron表达式:可以是几小时or几分钟or几秒钟or几天or几周; + //"JobStartExpre": "0 0/2 * * * ?", + "JobStartExpre": "0 22 16 * * ?", + "JobStartExpreAmount": "0 50 23 * * ?", + + //a.是否启用集群:键和值 + "JobStoreClusteredKey": "quartz.jobStore.clustered", + "JobStoreClusteredValue": true, + + //b.集群中的每个节点都必须有一个唯一的 instanceId + // 通过将“AUTO”设置为该属性的值来完成 + //备注:a属性和b属性配套使用;如果不开启集群这两个属性去掉 + "JobStoreInstanceIdKey": "quartz.scheduler.instanceId", + "JobStoreInstanceIdValue": "AUTO", + + //以下可以自定义配置 + "QuartzJobKey": "OpsJob", + "QuartzJobValue": "OpsJobGroup", + "QuartzJobDescription": "OpsJob", + "QuartzTriggerIdentity": "OpsTrigger", + "QuartzTriggerDescription": "OpsJobTrigger" } } diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml index 864785fc..a29440fc 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -65,5 +65,19 @@ + + + 鍒楄〃 + + + + + + + 淇濆瓨 + + + + diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 0c6c870c..b490ca21 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -730,6 +730,11 @@ 鐢ㄦ埛绫诲瀷锛1涓哄憳宸ワ紝2涓轰緵搴斿晢锛3涓哄鎴 + + + 绉荤鍒楄〃璇锋眰 + + 缁勭粐Id(鎵鏈夊垪琛ㄩ〉閮介渶瑕 鍏ㄥ眬) diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 6976c2f0..dbbe844f 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -1127,6 +1127,136 @@ 閲囪喘鍏ュ簱锛氬瓧娈 + + + Quartz瀹氭椂浠诲姟-閰嶇疆椤 + + + + + 瀛樺偍绫诲瀷:閿 + + + + + 瀛樺偍绫诲瀷:鍊 + + + + + 鏁版嵁搴撻┍鍔ㄧ被鍨-杩欓噷鏄痬ysql:閿 + + + + + 鏁版嵁搴撻┍鍔ㄧ被鍨-杩欓噷鏄痬ysql:鍊 + + + + + 鏁版嵁搴撹〃鍚嶅墠缂:閿 + + + + + 鏁版嵁搴撹〃鍚嶅墠缂:鍊 + + + + + 鏁版嵁婧愮殑鍚嶇О:閿 + + + + + 鏁版嵁婧愮殑鍚嶇О:鍊 + + + + + 杩炴帴瀛楃涓:閿 + + + + + 杩炴帴瀛楃涓:鍊 + + + + + mysql鎻愪緵鍣:閿 + + + + + mysql鎻愪緵鍣:鍊 + + + + + 鍑犵偣鍚庡紑濮嬫墽琛 + + + + + 鍑犲垎閽熷悗寮濮嬫墽琛 + + + + + 鎵цCron琛ㄨ揪寮忥細鍙互鏄嚑灏忔椂or鍑犲垎閽無r鍑犵閽無r鍑犲ぉor鍑犲懆 + + + + + + + + + + 鏄惁鍚敤闆嗙兢锛氶敭 + + + + + 鏄惁鍚敤闆嗙兢锛氬 + + + + + 鑺傜偣閮藉繀椤绘湁涓涓敮涓ID锛氶敭 + + + + + 鑺傜偣閮藉繀椤绘湁涓涓敮涓ID锛氬 + + + + + 宸ヤ綔鍚嶇О锛氶敭 + + + + + 宸ヤ綔鍚嶇О锛氬 + + + + + 宸ヤ綔鎻忚堪 + + + + + 瑙﹀彂鍣ㄨ韩浠借璇佷俊鎭 + + + + + 瑙﹀彂鍣ㄦ弿杩 + + 鍗曠偣绯荤粺鍦板潃 diff --git a/src/WMS.Web.Domain/Options/QuartzJobOptions.cs b/src/WMS.Web.Domain/Options/QuartzJobOptions.cs new file mode 100644 index 00000000..cd51ed77 --- /dev/null +++ b/src/WMS.Web.Domain/Options/QuartzJobOptions.cs @@ -0,0 +1,141 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Domain.Options +{ + /// + /// Quartz瀹氭椂浠诲姟-閰嶇疆椤 + /// + public class QuartzJobOptions + { + /// + /// 瀛樺偍绫诲瀷:閿 + /// + public string JobStoreTypeKey { get; set; } + + /// + /// 瀛樺偍绫诲瀷:鍊 + /// + public string JobStoreTypeValue { get; set; } + + /// + /// 鏁版嵁搴撻┍鍔ㄧ被鍨-杩欓噷鏄痬ysql:閿 + /// + public string JobStoreDriverDelegateTypeKey { get; set; } + + /// + /// 鏁版嵁搴撻┍鍔ㄧ被鍨-杩欓噷鏄痬ysql:鍊 + /// + public string JobStoreDriverDelegateTypeValue { get; set; } + + /// + /// 鏁版嵁搴撹〃鍚嶅墠缂:閿 + /// + public string JobStoreTablePrefixKey { get; set; } + + /// + /// 鏁版嵁搴撹〃鍚嶅墠缂:鍊 + /// + public string JobStoreTablePrefixValue { get; set; } + + /// + /// 鏁版嵁婧愮殑鍚嶇О:閿 + /// + public string JobStoreDataSourceKey { get; set; } + + /// + /// 鏁版嵁婧愮殑鍚嶇О:鍊 + /// + public string JobStoreDataSourceValue { get; set; } + + /// + /// 杩炴帴瀛楃涓:閿 + /// + public string JobStoreConnectionStringKey { get; set; } + + /// + /// 杩炴帴瀛楃涓:鍊 + /// + public string JobStoreConnectionStringValue { get; set; } + + /// + /// mysql鎻愪緵鍣:閿 + /// + public string JobStoreProviderKey { get; set; } + + /// + /// mysql鎻愪緵鍣:鍊 + /// + public string JobStoreProviderValue { get; set; } + + + /// + /// 鍑犵偣鍚庡紑濮嬫墽琛 + /// + public List JobStartHour { get; set; } + + /// + /// 鍑犲垎閽熷悗寮濮嬫墽琛 + /// + public List JobStartMinute { get; set; } + + /// + /// 鎵цCron琛ㄨ揪寮忥細鍙互鏄嚑灏忔椂or鍑犲垎閽無r鍑犵閽無r鍑犲ぉor鍑犲懆 + /// + public string JobStartExpre { get; set; } + + /// + /// + /// + public string JobStartExpreAmount { get; set; } + + + /// + /// 鏄惁鍚敤闆嗙兢锛氶敭 + /// + public string JobStoreClusteredKey { get; set; } + + /// + /// 鏄惁鍚敤闆嗙兢锛氬 + /// + public string JobStoreClusteredValue { get; set; } + + /// + /// 鑺傜偣閮藉繀椤绘湁涓涓敮涓ID锛氶敭 + /// + public string JobStoreInstanceIdKey { get; set; } + + /// + /// 鑺傜偣閮藉繀椤绘湁涓涓敮涓ID锛氬 + /// + public string JobStoreInstanceIdValue { get; set; } + + + /// + /// 宸ヤ綔鍚嶇О锛氶敭 + /// + public string QuartzJobKey { get; set; } + + /// + /// 宸ヤ綔鍚嶇О锛氬 + /// + public string QuartzJobValue { get; set; } + + /// + /// 宸ヤ綔鎻忚堪 + /// + public string QuartzJobDescription { get; set; } + + /// + /// 瑙﹀彂鍣ㄨ韩浠借璇佷俊鎭 + /// + public string QuartzTriggerIdentity { get; set; } + + /// + /// 瑙﹀彂鍣ㄦ弿杩 + /// + public string QuartzTriggerDescription { get; set; } + + } +} diff --git a/src/WMS.Web.Domain/WMS.Web.Domain.csproj b/src/WMS.Web.Domain/WMS.Web.Domain.csproj index 342ff923..f744f4cd 100644 --- a/src/WMS.Web.Domain/WMS.Web.Domain.csproj +++ b/src/WMS.Web.Domain/WMS.Web.Domain.csproj @@ -29,4 +29,8 @@ + + + + diff --git a/src/WMS.Web.Repositories/DependencyInjection/AppBuilder.cs b/src/WMS.Web.Repositories/DependencyInjection/AppBuilder.cs index 83c343c0..61940d96 100644 --- a/src/WMS.Web.Repositories/DependencyInjection/AppBuilder.cs +++ b/src/WMS.Web.Repositories/DependencyInjection/AppBuilder.cs @@ -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(); } /// /// 鍏跺畠鍔熻兘娉ㄥ叆锛欰utoMapper绛夊叾瀹 @@ -174,6 +176,50 @@ namespace WMS.Web.Repositories.DependencyInjection Services.Configure(Configuration.GetSection("ErpOptions")); } + /// + /// Quartz瀹氭椂浠诲姟-鍙垎甯冨紡闆嗙兢 + /// + private void AddQuartzService() + { + var options = Configuration.GetSection("QuartzJobOptions").Get(); + //Services.AddTransient();//娣诲姞娉ㄥ叆瀹氭椂鏈嶅姟 + //Services.AddTransient();//娣诲姞娉ㄥ叆瀹氭椂鏈嶅姟 + Services.AddQuartz(q => + { + q.UsePersistentStore(x => + { + //瀛樺偍绫诲瀷 + x.Properties[options.JobStoreTypeKey] = options.JobStoreTypeValue; + //鏁版嵁搴撻┍鍔ㄧ被鍨-杩欓噷鏄痬ysql + 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 => + { + //鍏抽棴鏃讹紝鎴戜滑甯屾湜浣滀笟姝e父瀹屾垚 + options.WaitForJobsToComplete = false; + }); + + } + /// /// 娉ㄥ叆鏈嶅姟灞 ///