You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.6 KiB
37 lines
1.6 KiB
using Microsoft.Extensions.DependencyInjection;
|
|
using Quartz;
|
|
using Wood.Data.Repository;
|
|
using Wood.Entity.SystemManage;
|
|
using Wood.Util;
|
|
|
|
namespace Wood.AutoJob
|
|
{
|
|
/// <summary>
|
|
/// 日志清理job
|
|
/// </summary>
|
|
[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<SqlSugarRepository<LogDiffEntity>>();
|
|
var levRepository = serviceProvider.GetRequiredService<SqlSugarRepository<LogEventEntity>>();
|
|
var lexRepository = serviceProvider.GetRequiredService<SqlSugarRepository<LogExceptionEntity>>();
|
|
var ljRepository = serviceProvider.GetRequiredService<SqlSugarRepository<LogJobEntity>>();
|
|
var llRepository = serviceProvider.GetRequiredService<SqlSugarRepository<LogLoginEntity>>();
|
|
var loRepository = serviceProvider.GetRequiredService<SqlSugarRepository<LogOperationEntity>>();
|
|
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
|