namespace Admin.NET.Core; /// /// 任务调度 /// public class JobTimer : ISpareTimeWorker { /// /// 日志删除定时器 /// /// /// [SpareTime("@midnight", "日志删除定时器", Description = "每天午夜运行一次", DoOnce = false, StartNow = true, ExecuteType = SpareTimeExecuteTypes.Serial)] public void ClearLogJob(SpareTimer timer, long count) { Scoped.Create(async (_, scope) => { var services = scope.ServiceProvider; var db = services.GetService(); var daysAgo = 30; // 删除30天以前 await db.Deleteable().Where(u => (DateTime)u.CreateTime < DateTime.Now.AddDays(-daysAgo)).ExecuteCommandAsync(); // 删除访问日志 await db.Deleteable().Where(u => (DateTime)u.CreateTime < DateTime.Now.AddDays(-daysAgo)).ExecuteCommandAsync(); // 删除操作日志 await db.Deleteable().Where(u => (DateTime)u.CreateTime < DateTime.Now.AddDays(-daysAgo)).ExecuteCommandAsync(); // 删除异常日志 await db.Deleteable().Where(u => (DateTime)u.CreateTime < DateTime.Now.AddDays(-daysAgo)).ExecuteCommandAsync(); // 删除差异日志 }); } }