using Microsoft.Extensions.Logging;
///
/// 这里要注意下,命名空间和程序集是一样的,不然反射不到(任务类要去JobSetup添加注入)
///
namespace Tiobon.Core.Tasks;
public class Job_AutoClearLog_Quartz : JobBase, IJob
{
private readonly ILogger _logger;
private readonly ICommonServices _commonServices;
public Job_AutoClearLog_Quartz(ILogger logger, ITasksQzServices tasksQzServices, ITasksLogServices tasksLogServices, ICommonServices commonServices)
: base(tasksQzServices, tasksLogServices)
{
_tasksQzServices = tasksQzServices;
_logger = logger;
_commonServices = commonServices;
}
public async Task Execute(IJobExecutionContext context)
{
// 可以直接获取 JobDetail 的值
var jobKey = context.JobDetail.Key;
var jobId = jobKey.Name;
var executeLog = await ExecuteJob(context, async () => await Run(context, jobId.ObjToInt()));
}
public async Task Run(IJobExecutionContext context, int jobid)
{
if (jobid > 0)
await _commonServices.AutoClearLog();
}
}