| | |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using Microsoft.AspNetCore.Mvc.RazorPages; |
| | | using Quartz; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Threading.Tasks; |
| | | using Utility.Entity; |
| | |
| | | /// <param name="entity"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public async Task<string> AddJob([FromBody] ScheduleEntity entity) |
| | | public async Task<string> AddJob(ScheduleEntity entity) |
| | | { |
| | | if (entity.TriggerType == TriggerTypeEnum.Cron && |
| | | entity.Cron == "* * * * * ?") |
| | | { |
| | | return "不允许过频繁执行任务!"; |
| | | } |
| | | |
| | | return await scheduler.AddScheduleJobAsync(entity); |
| | | } |
| | | |
| | |
| | | /// <param name="entity"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public async Task<string> ModifyJob([FromBody] ModifyJobInput entity) |
| | | public async Task<string> ModifyJob(ModifyJobInput entity) |
| | | { |
| | | var jobKey = new JobKey(entity.OldScheduleEntity.JobName, entity.OldScheduleEntity.JobGroup); |
| | | var runNumber = await scheduler.GetRunNumberAsync(jobKey); |
| | | long runNumber = 0; |
| | | try |
| | | { |
| | | runNumber = await scheduler.GetRunNumberAsync(jobKey); |
| | | } |
| | | catch (Exception) |
| | | { |
| | | |
| | | } |
| | | await scheduler.StopOrDelScheduleJobAsync(entity.OldScheduleEntity.JobGroup, entity.OldScheduleEntity.JobName, true); |
| | | await scheduler.AddScheduleJobAsync(entity.NewScheduleEntity, runNumber); |
| | | return "修改计划任务成功!"; |