public async Task <IActionResult> ResumeAsync(string schedulerName, string triggerGroup, string triggerName, string redirectAction = "Index") { var scheduler = await TimerUtil.GetScheduler(schedulerName).ConfigureAwait(false); await scheduler.ResumeTrigger(new TriggerKey(triggerName, triggerGroup)).ConfigureAwait(false); return(RedirectToAction(redirectAction, new { schedulerName, triggerGroup, triggerName })); }
public async Task <IActionResult> ResumeAsync(string schedulerName, string jobGroup, string jobName, string redirectAction = "Detail") { var scheduler = await TimerUtil.GetScheduler(schedulerName).ConfigureAwait(false); await scheduler.ResumeJob(new JobKey(jobName, jobGroup)).ConfigureAwait(false); return(RedirectToAction(redirectAction, new { schedulerName, jobGroup, jobName })); }
public async Task <IActionResult> Detail(string schedulerName, string jobGroup, string jobName) { var scheduler = await TimerUtil.GetScheduler(schedulerName).ConfigureAwait(false); var jobDetail = await scheduler.GetJobDetail(new JobKey(jobName, jobGroup)).ConfigureAwait(false); return(View(new JobDetailVM(scheduler, jobDetail))); }
public async Task <IActionResult> Detail(string schedulerName) { var scheduler = await TimerUtil.GetScheduler(schedulerName).ConfigureAwait(false); var metaData = await scheduler.GetMetaData().ConfigureAwait(false); return(View(new SchedulerVM(scheduler, metaData))); }
public async Task <IActionResult> ClearAsync(string schedulerName) { var scheduler = await TimerUtil.GetScheduler(schedulerName).ConfigureAwait(false); await scheduler.Clear().ConfigureAwait(false); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> ShutdownAsync(string schedulerName, bool waitComplete = false) { var scheduler = await TimerUtil.GetScheduler(schedulerName).ConfigureAwait(false); await scheduler.Shutdown(waitComplete).ConfigureAwait(false); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> PauseGroupAsync(string schedulerName, GroupMatcherVM groupMatcher) { var scheduler = await TimerUtil.GetScheduler(schedulerName).ConfigureAwait(false); var matcher = (groupMatcher ?? new GroupMatcherVM()).GetJobGroupMatcher(); await scheduler.PauseJobs(matcher).ConfigureAwait(false); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> StartAsync(string schedulerName, int?delaySeconds = null) { var scheduler = await TimerUtil.GetScheduler(schedulerName).ConfigureAwait(false); if (delaySeconds == null) { await scheduler.Start().ConfigureAwait(false); } else { await scheduler.StartDelayed(TimeSpan.FromSeconds(delaySeconds.Value)).ConfigureAwait(false); } return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Edit(string schedulerName, string jobGroup, string jobName) { ViewData["job_type"] = await TimerUtil.GetJobTypes(); JobDetailVM jobDetail = null; var scheduler = await TimerUtil.GetScheduler(schedulerName).ConfigureAwait(false); if (!string.IsNullOrWhiteSpace(jobGroup) && !string.IsNullOrWhiteSpace(jobName)) { jobDetail = new JobDetailVM(scheduler, await scheduler.GetJobDetail(new JobKey(jobName, jobGroup)).ConfigureAwait(false)); } return(View(jobDetail ?? new JobDetailVM { SchedulerName = schedulerName })); }
public async Task <IActionResult> Detail(string schedulerName, string triggerGroup, string triggerName) { var scheduler = await TimerUtil.GetScheduler(schedulerName).ConfigureAwait(false); var trgDetail = await scheduler.GetTrigger(new TriggerKey(triggerName, triggerGroup)).ConfigureAwait(false); var calendar = trgDetail.CalendarName != null ? await scheduler.GetCalendar(trgDetail.CalendarName).ConfigureAwait(false) : null; var trigger = TriggerDetailVM.Create(trgDetail, calendar); trigger.SchedulerName = scheduler.SchedulerName; return(View(trigger)); }
public async Task <IActionResult> EditAsync(JobDetailVM jobDetail) { if (!ModelState.IsValid) { ViewData["job_type"] = await TimerUtil.GetJobTypes(); return(View(nameof(Edit), jobDetail)); } var scheduler = await TimerUtil.GetScheduler(jobDetail.SchedulerName).ConfigureAwait(false); var jobDetailImpl = new JobDetailImpl(jobDetail.JobName, jobDetail.JobGroup, await TimerUtil.GetJobType(jobDetail.JobType), true, jobDetail.RequestsRecovery); jobDetailImpl.Description = jobDetail.Description; await scheduler.AddJob(jobDetailImpl, jobDetail.ConcurrentExecutionDisallowed).ConfigureAwait(false); return(RedirectToAction(nameof(Index))); }