namespace Admin.NET.Core.Service;
///
/// 系统作业任务服务
///
[ApiDescriptionSettings(Order = 188)]
[AllowAnonymous]
public class SysJobService : IDynamicApiController, ITransient
{
private readonly ISchedulerFactory _schedulerFactory;
public SysJobService(ISchedulerFactory schedulerFactory)
{
_schedulerFactory = schedulerFactory;
}
///
/// 获取所有作业任务列表
///
[HttpGet("/sysJob/list")]
public async Task> GetJobList()
{
var JobDetails = _schedulerFactory.GetJobsOfModels();
return await Task.FromResult(JobDetails.ToList());
}
///
/// 增加作业任务
///
///
[HttpPost("/sysJob/add")]
public async Task AddJob()
{
var jobBuilder = JobBuilder.From(@"
{
""jobId"": ""job1"",
""groupName"": null,
""jobType"": ""Admin.NET.Application"",
""assemblyName"": ""Admin.NET.Application"",
""description"": null,
""concurrent"": true,
""includeAnnotations"": false,
""properties"": ""{}"",
""updatedTime"": ""2022-11-22 18:00:00""
}");
var schedulerResult = _schedulerFactory.TryAddJob(jobBuilder, new[] { Triggers.PeriodSeconds(10) }, out _);
return await Task.FromResult(schedulerResult);
}
///
/// 删除作业任务
///
///
[HttpPost("/sysJob/delete")]
public async Task DeleteJob(JobInput input)
{
var schedulerResult = _schedulerFactory.TryRemoveJob(input.Name, out _);
return await Task.FromResult(schedulerResult);
}
}