瀏覽代碼

任务调度支持传入数据库键名来使用该库作为任务调度数据库

zhontai 2 年之前
父節點
當前提交
068dbbfd1e

+ 1 - 1
build/pkg.props

@@ -1,6 +1,6 @@
 <Project>
   <PropertyGroup>
-    <Version>3.0.5</Version>
+    <Version>3.0.6</Version>
 	<TargetFramework>net7.0</TargetFramework>
 	<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
 	<GenerateDocumentationFile>true</GenerateDocumentationFile>

+ 2 - 1
src/hosts/ZhonTai.Host/Program.cs

@@ -4,6 +4,7 @@ using Microsoft.Extensions.Hosting;
 using ZhonTai;
 using ZhonTai.Admin.Core;
 using ZhonTai.Admin.Core.Configs;
+using ZhonTai.Admin.Core.Consts;
 using ZhonTai.Admin.Core.Startup;
 using ZhonTai.Admin.Tools.TaskScheduler;
 using ZhonTai.ApiUI;
@@ -16,7 +17,7 @@ new HostApp(new HostAppOptions
         //context.Services.AddTiDb(context);
 
         //添加任务调度
-        context.Services.AddTaskScheduler(options =>
+        context.Services.AddTaskScheduler(DbKeys.AppDb, options =>
         {
             options.ConfigureFreeSql = freeSql =>
             {

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

@@ -1,5 +1,6 @@
 using FreeScheduler;
 using System;
+using ZhonTai.Admin.Core.Consts;
 
 namespace ZhonTai.Admin.Tools.TaskScheduler;
 
@@ -8,6 +9,11 @@ namespace ZhonTai.Admin.Tools.TaskScheduler;
 /// </summary>
 public class TaskSchedulerOptions
 {
+    /// <summary>
+    /// 数据库键
+    /// </summary>
+    public string DbKey { get; set; } = DbKeys.AppDb;
+
     /// <summary>
     /// 数据库实例
     /// </summary>

+ 17 - 3
src/platform/ZhonTai.Admin/Tools/TaskScheduler/TaskSchedulerServiceExtensions.cs

@@ -17,12 +17,23 @@ public static class TaskSchedulerServiceExtensions
     /// </summary>
     /// <param name="services"></param>
     /// <param name="configureOptions"></param>
-    public static void AddTaskScheduler(this IServiceCollection services, Action<TaskSchedulerOptions> configureOptions = null)
+    public static IServiceCollection AddTaskScheduler(this IServiceCollection services, Action<TaskSchedulerOptions> configureOptions = null)
+    {
+        return services.AddTaskScheduler(DbKeys.AppDb, configureOptions);
+    }
+
+    /// <summary>
+    /// 添加任务调度
+    /// </summary>
+    /// <param name="services"></param>
+    /// <param name="dbKey"></param>
+    /// <param name="configureOptions"></param>
+    public static IServiceCollection AddTaskScheduler(this IServiceCollection services, string dbKey, Action<TaskSchedulerOptions> configureOptions = null)
     {
         ServiceProvider = services.BuildServiceProvider();
         var options = new TaskSchedulerOptions()
         {
-            FreeSql = ServiceProvider.GetService<FreeSqlCloud>().Use(DbKeys.AppDb)
+            FreeSql = ServiceProvider.GetService<FreeSqlCloud>().Use(dbKey)
         };
         configureOptions?.Invoke(options);
 
@@ -62,12 +73,15 @@ public static class TaskSchedulerServiceExtensions
             //开启任务
             var scheduler = new Scheduler(options.TaskHandler);
             services.AddSingleton(scheduler);
-        } else if  (options.TaskHandler != null && options.CustomTaskHandler != null)
+        }
+        else if (options.TaskHandler != null && options.CustomTaskHandler != null)
         {
             //开启自定义任务
             var scheduler = new Scheduler(options.TaskHandler, options.CustomTaskHandler);
             services.AddSingleton(scheduler);
         }
+
+        return services;
     }
 
     /// <summary>

+ 13 - 0
src/platform/ZhonTai.Admin/ZhonTai.Admin.xml

@@ -6496,6 +6496,11 @@
             TaskScheduler配置
             </summary>
         </member>
+        <member name="P:ZhonTai.Admin.Tools.TaskScheduler.TaskSchedulerOptions.DbKey">
+            <summary>
+            数据库键
+            </summary>
+        </member>
         <member name="P:ZhonTai.Admin.Tools.TaskScheduler.TaskSchedulerOptions.FreeSql">
             <summary>
             数据库实例
@@ -6523,6 +6528,14 @@
             <param name="services"></param>
             <param name="configureOptions"></param>
         </member>
+        <member name="M:ZhonTai.Admin.Tools.TaskScheduler.TaskSchedulerServiceExtensions.AddTaskScheduler(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action{ZhonTai.Admin.Tools.TaskScheduler.TaskSchedulerOptions})">
+            <summary>
+            添加任务调度
+            </summary>
+            <param name="services"></param>
+            <param name="dbKey"></param>
+            <param name="configureOptions"></param>
+        </member>
         <member name="M:ZhonTai.Admin.Tools.TaskScheduler.TaskSchedulerServiceExtensions.UseTaskScheduler(Microsoft.AspNetCore.Builder.IApplicationBuilder)">
             <summary>
             使用任务调度