feat:添加执行一次接口
This commit is contained in:
@@ -25,7 +25,7 @@ namespace Yi.Furion.Application.Rbac.Services.Impl
|
|||||||
/// <param name="jobId"></param>
|
/// <param name="jobId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpGet("{jobId}")]
|
[HttpGet("{jobId}")]
|
||||||
public SchedulerModel GetById([FromRoute]string jobId)
|
public SchedulerModel GetById([FromRoute] string jobId)
|
||||||
{
|
{
|
||||||
var result = _schedulerFactory.TryGetJob(jobId, out var scheduler);
|
var result = _schedulerFactory.TryGetJob(jobId, out var scheduler);
|
||||||
return scheduler.GetModel();
|
return scheduler.GetModel();
|
||||||
@@ -36,9 +36,9 @@ namespace Yi.Furion.Application.Rbac.Services.Impl
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpGet("")]
|
[HttpGet("")]
|
||||||
public PagedResultDto<SchedulerModel> GetList([FromQuery]TaskGetListInput input)
|
public PagedResultDto<SchedulerModel> GetList([FromQuery] TaskGetListInput input)
|
||||||
{
|
{
|
||||||
var data = _schedulerFactory.GetJobsOfModels().Skip(input.PageNum * input.PageSize).Take(input.PageSize).OrderByDescending(x => x.JobDetail.UpdatedTime).ToList();
|
var data = _schedulerFactory.GetJobsOfModels().Skip((input.PageNum-1) * input.PageSize).Take(input.PageSize).OrderByDescending(x => x.JobDetail.UpdatedTime).ToList();
|
||||||
return new PagedResultDto<SchedulerModel>(data.Count(), data);
|
return new PagedResultDto<SchedulerModel>(data.Count(), data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@ namespace Yi.Furion.Application.Rbac.Services.Impl
|
|||||||
|
|
||||||
//jobBuilder
|
//jobBuilder
|
||||||
var jobBuilder = JobBuilder.Create(input.AssemblyName, input.JobTypeFullName).SetJobId(input.JobId).SetGroupName(input.GroupName);
|
var jobBuilder = JobBuilder.Create(input.AssemblyName, input.JobTypeFullName).SetJobId(input.JobId).SetGroupName(input.GroupName);
|
||||||
//.SetConcurrent(input.Concurrent).SetDescription(input.Description).SetProperties(Newtonsoft.Json.JsonConvert.SerializeObject(input.Properties));
|
//.SetConcurrent(input.Concurrent).SetDescription(input.Description).SetProperties(Newtonsoft.Json.JsonConvert.SerializeObject(input.Properties));
|
||||||
|
|
||||||
//triggerBuilder
|
//triggerBuilder
|
||||||
//毫秒
|
//毫秒
|
||||||
@@ -122,7 +122,7 @@ namespace Yi.Furion.Application.Rbac.Services.Impl
|
|||||||
/// <param name="jobId"></param>
|
/// <param name="jobId"></param>
|
||||||
/// <param name="input"></param>
|
/// <param name="input"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public ScheduleResult Update(string jobId,TaskUpdateInput input)
|
public ScheduleResult Update(string jobId, TaskUpdateInput input)
|
||||||
{
|
{
|
||||||
//jobBuilder
|
//jobBuilder
|
||||||
var jobBuilder = JobBuilder.Create(input.AssemblyName, input.JobTypeFullName).SetJobId(jobId).SetGroupName(input.GroupName)
|
var jobBuilder = JobBuilder.Create(input.AssemblyName, input.JobTypeFullName).SetJobId(jobId).SetGroupName(input.GroupName)
|
||||||
@@ -148,5 +148,16 @@ namespace Yi.Furion.Application.Rbac.Services.Impl
|
|||||||
var result = _schedulerFactory.TryUpdateJob(schedulerBuilder, out var scheduler);
|
var result = _schedulerFactory.TryUpdateJob(schedulerBuilder, out var scheduler);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public bool RunOnce(string jobId)
|
||||||
|
{
|
||||||
|
var result = _schedulerFactory.TryGetJob(jobId, out var scheduler);
|
||||||
|
|
||||||
|
var triggerBuilder = Triggers.Period(100).SetRunOnStart(true).SetMaxNumberOfRuns(1);
|
||||||
|
scheduler.AddTrigger(triggerBuilder);
|
||||||
|
//设置启动时执行一次,然后最大只执行一次
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ public class Startup : AppStartup
|
|||||||
// 注册作业,并配置作业触发器
|
// 注册作业,并配置作业触发器
|
||||||
// options.AddJob<SystemDataJob>(Triggers.Period(10000)); // 表示每秒执行
|
// options.AddJob<SystemDataJob>(Triggers.Period(10000)); // 表示每秒执行
|
||||||
options.AddJob<SystemDataJob>(Triggers.Cron("0 0 0,12 ? * ?",CronStringFormat.WithSeconds)); // 表示每天凌晨与12点
|
options.AddJob<SystemDataJob>(Triggers.Cron("0 0 0,12 ? * ?",CronStringFormat.WithSeconds)); // 表示每天凌晨与12点
|
||||||
|
options.AddJob<TestJob>(Triggers.Period(1000000)); // 表示每天凌晨与12点
|
||||||
});
|
});
|
||||||
services.AddFileLogging("application-{0:yyyy}-{0:MM}-{0:dd}.log", options =>
|
services.AddFileLogging("application-{0:yyyy}-{0:MM}-{0:dd}.log", options =>
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user