From 66eacb685a76a2a7d882ae540f1278fc87af7b32 Mon Sep 17 00:00:00 2001 From: cheche <717840555@qq.com> Date: Fri, 29 Dec 2023 16:41:24 +0800 Subject: [PATCH] =?UTF-8?q?feat=20Hnagfire=E5=88=9D=E6=AD=A5=E6=90=AD?= =?UTF-8?q?=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Src/Dlhis.Basic/Program.cs | 2 ++ .../Dlhis.ScheduledTask.csproj | 6 +++- .../MyBackgroundJobService.cs | 12 +++++++ Src/Dlhis.ScheduledTask/Program.cs | 2 ++ Src/Dlhis.ScheduledTask/SqlSugarPack1.cs | 34 +++++++++++++++++++ Src/Dlhis.ScheduledTask/appsettings.json | 3 ++ 6 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 Src/Dlhis.ScheduledTask/MyBackgroundJobService.cs create mode 100644 Src/Dlhis.ScheduledTask/SqlSugarPack1.cs diff --git a/Src/Dlhis.Basic/Program.cs b/Src/Dlhis.Basic/Program.cs index d7c99860..d077cec2 100644 --- a/Src/Dlhis.Basic/Program.cs +++ b/Src/Dlhis.Basic/Program.cs @@ -15,5 +15,7 @@ public class Startup : DefaultStartup public Startup(IConfiguration configuration) : base(configuration) { IdentityModelEventSource.ShowPII = true; + } + } \ No newline at end of file diff --git a/Src/Dlhis.ScheduledTask/Dlhis.ScheduledTask.csproj b/Src/Dlhis.ScheduledTask/Dlhis.ScheduledTask.csproj index c56c3934..9f0fa6c7 100644 --- a/Src/Dlhis.ScheduledTask/Dlhis.ScheduledTask.csproj +++ b/Src/Dlhis.ScheduledTask/Dlhis.ScheduledTask.csproj @@ -1,7 +1,7 @@  - net7.0 + net6.0 enable enable Linux @@ -17,6 +17,10 @@ + + + + diff --git a/Src/Dlhis.ScheduledTask/MyBackgroundJobService.cs b/Src/Dlhis.ScheduledTask/MyBackgroundJobService.cs new file mode 100644 index 00000000..1d45c79e --- /dev/null +++ b/Src/Dlhis.ScheduledTask/MyBackgroundJobService.cs @@ -0,0 +1,12 @@ +using Hangfire; + +namespace Dlhis.ScheduledTask +{ + public class MyBackgroundJobService + { + public void EnqueueMyJob() + { + BackgroundJob.Enqueue(() => Console.WriteLine("This is a background job.")); + } + } +} diff --git a/Src/Dlhis.ScheduledTask/Program.cs b/Src/Dlhis.ScheduledTask/Program.cs index 183eef6d..ace73d18 100644 --- a/Src/Dlhis.ScheduledTask/Program.cs +++ b/Src/Dlhis.ScheduledTask/Program.cs @@ -1,6 +1,7 @@ using Kurisu.AspNetCore.Startup; using Kurisu.Startup; + class Program { static void Main(string[] args) @@ -15,4 +16,5 @@ public class Startup : DefaultStartup { } + } \ No newline at end of file diff --git a/Src/Dlhis.ScheduledTask/SqlSugarPack1.cs b/Src/Dlhis.ScheduledTask/SqlSugarPack1.cs new file mode 100644 index 00000000..a1f45d7c --- /dev/null +++ b/Src/Dlhis.ScheduledTask/SqlSugarPack1.cs @@ -0,0 +1,34 @@ +using Hangfire; +using Hangfire.MySql; +using Kurisu.AspNetCore.Startup; + +namespace Dlhis.ScheduledTask +{ + public class SqlSugarPack1 : BaseAppPack + { + public override bool IsBeforeUseRouting { get; } + + public override void ConfigureServices(IServiceCollection services) + { + services.AddHangfire(configuration => configuration + .SetDataCompatibilityLevel(CompatibilityLevel.Version_170) + .UseSimpleAssemblyNameTypeSerializer() + .UseRecommendedSerializerSettings() + .UseStorage( + new MySqlStorage( + Configuration.GetConnectionString("HangfireConnection"), + new MySqlStorageOptions + { + TablesPrefix = "Hangfire" // Adjust other options as needed + } + ) + )); + services.AddHangfireServer(); + } + public override void Configure(IApplicationBuilder app, IWebHostEnvironment env) + { + app.UseHangfireDashboard(); //使用hangfire面板 + app.UseHangfireServer(); //启动hangfire服务 + } + } +} diff --git a/Src/Dlhis.ScheduledTask/appsettings.json b/Src/Dlhis.ScheduledTask/appsettings.json index 6df643d4..19f31111 100644 --- a/Src/Dlhis.ScheduledTask/appsettings.json +++ b/Src/Dlhis.ScheduledTask/appsettings.json @@ -5,6 +5,9 @@ "Microsoft.AspNetCore": "Warning" } }, + "ConnectionStrings": { + "HangfireConnection": "server=192.168.199.124;port=3306;userid=root;password=dlhis123;database=Hangfire;charset=utf8mb4;Allow User Variables=true;" + }, "AllowedHosts": "*", "Serilog": { "MinimumLevel": {