using Microsoft.Extensions.DependencyInjection; using Quartz; using Wood.Data.Repository; using Wood.Entity.SystemManage; using Wood.Util; namespace Wood.AutoJob { /// /// 日志清理job /// [JobDetail(JobId = "job_DBLogClear", GroupName = "system", Description = "清理日志")] [PeriodMinutes(480, TriggerId = "trigger_DBLogClear")] [DisallowConcurrentExecution] public class DBLogClearJob : AutoJobTask { public override async Task Run(IJobExecutionContext context, IServiceProvider serviceProvider) { DateTime startTime = DateTime.Now.AddDays(0 - GlobalContext.SystemConfig!.LogDays); var ldRepository = serviceProvider.GetRequiredService>(); var levRepository = serviceProvider.GetRequiredService>(); var lexRepository = serviceProvider.GetRequiredService>(); var ljRepository = serviceProvider.GetRequiredService>(); var llRepository = serviceProvider.GetRequiredService>(); var loRepository = serviceProvider.GetRequiredService>(); await ldRepository.DeleteAsync(it => it.CreateTime < startTime); await levRepository.DeleteAsync(it => it.CreateTime < startTime); await lexRepository.DeleteAsync(it => it.CreateTime < startTime); await ljRepository.DeleteAsync(it => it.CreateTime < startTime); await llRepository.DeleteAsync(it => it.CreateTime < startTime); await loRepository.DeleteAsync(it => it.CreateTime < startTime); } } }