From 407ceece1a3be3d7ebb6cd2ef55ad4ddc4395134 Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期四, 16 一月 2025 11:15:57 +0800
Subject: [PATCH] 清理日志任务
---
Admin.NET/WCS.Application/Job/LogClearJob.cs | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
diff --git a/Admin.NET/WCS.Application/Job/LogClearJob.cs b/Admin.NET/WCS.Application/Job/LogClearJob.cs
new file mode 100644
index 0000000..0c0f058
--- /dev/null
+++ b/Admin.NET/WCS.Application/Job/LogClearJob.cs
@@ -0,0 +1,37 @@
+锘縰sing Furion.Schedule;
+using Microsoft.Extensions.Logging;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WCS.Application;
+/// <summary>
+/// 鏃ュ織娓呯悊浠诲姟
+/// </summary>
+[JobDetail("job_logClear", Description = "浠诲姟鏃ュ織娓呯悊浠诲姟", GroupName = "default", Concurrent = false)]
+[Daily(TriggerId = "trigger_logClear", Description = "浠诲姟鏃ュ織娓呯悊浠诲姟")]
+public class LogClearJob : IJob
+{
+ private readonly IServiceScopeFactory _scopeFactory;
+ private readonly ILogger _logger;
+
+ public LogClearJob(IServiceScopeFactory scopeFactory, ILoggerFactory loggerFactory)
+ {
+ _scopeFactory = scopeFactory;
+ _logger = loggerFactory.CreateLogger(CommonConst.SysLogCategoryName);
+ }
+
+ public async Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken)
+ {
+ using var serviceScope = _scopeFactory.CreateScope();
+
+ var rep = serviceScope.ServiceProvider.GetRequiredService<SqlSugarRepository<WcsTask>>();
+ DateTime threeMonthsAgo = DateTime.Now.AddMonths(-3);
+ await rep.CopyNew().Context.Deleteable<WcsTask>().Where(s => s.CreateTime < threeMonthsAgo).ExecuteCommandAsync(stoppingToken);
+ await rep.CopyNew().Context.Deleteable<WcsTaskMonitor>().Where(s => s.CreateTime < threeMonthsAgo).ExecuteCommandAsync(stoppingToken);
+ threeMonthsAgo = DateTime.Now.AddMonths(-6);
+ await rep.CopyNew().Context.Deleteable<WcsAlarmLog>().Where(s => s.CreateTime < threeMonthsAgo).ExecuteCommandAsync(stoppingToken);
+ }
+}
--
Gitblit v1.8.0