ソースを参照

新增任务调度CustomTaskHandler自定义任务处理器

zhontai 2 年 前
コミット
cb6389d1c2

+ 1 - 1
src/hosts/ZhonTai.Host/Configs/ratelimitconfig.json

@@ -13,7 +13,7 @@
     "ClientWhitelist": [],
     "HttpStatusCode": 429,
     "QuotaExceededResponse": {
-      "Content": "{{\"code\":429,\"msg\":\"访问过于频繁!\"}}",
+      "Content": "{{\"code\":429,\"msg\":\"访问过于频繁!\",\"success\": false}}",
       "ContentType": "application/json; charset=utf-8",
       "StatusCode": 429
     },

+ 5 - 0
src/platform/ZhonTai.Admin/Tools/TaskScheduler/TaskSchedulerOptions.cs

@@ -22,4 +22,9 @@ public class TaskSchedulerOptions
     /// 任务处理器
     /// </summary>
     public ITaskHandler TaskHandler{ get; set; } = null;
+
+    /// <summary>
+    /// 自定义任务处理器
+    /// </summary>
+    public ITaskIntervalCustomHandler CustomTaskHandler { get; set; } = null; 
 }

+ 6 - 1
src/platform/ZhonTai.Admin/Tools/TaskScheduler/TaskSchedulerServiceExtensions.cs

@@ -57,11 +57,16 @@ public static class TaskSchedulerServiceExtensions
             freeSql.CodeFirst.SyncStructure<TaskLog>();
         }
 
-        if(options.TaskHandler != null)
+        if (options.TaskHandler != null && options.CustomTaskHandler == null)
         {
             //开启任务
             var scheduler = new Scheduler(options.TaskHandler);
             services.AddSingleton(scheduler);
+        } else if  (options.TaskHandler != null && options.CustomTaskHandler != null)
+        {
+            //开启自定义任务
+            var scheduler = new Scheduler(options.TaskHandler, options.CustomTaskHandler);
+            services.AddSingleton(scheduler);
         }
     }