public async Task ResumeJobs(string schedulerName, GroupMatcherVM groupMatcher) { var scheduler = await GetScheduler(schedulerName).ConfigureAwait(false); var matcher = (groupMatcher ?? new GroupMatcherVM()).GetJobGroupMatcher(); await scheduler.ResumeJobs(matcher).ConfigureAwait(false); }
public async Task PauseTriggers(string schedulerName, GroupMatcherVM groupMatcher) { var scheduler = await GetScheduler(schedulerName).ConfigureAwait(false); var matcher = (groupMatcher ?? new GroupMatcherVM()).GetTriggerGroupMatcher(); await scheduler.PauseTriggers(matcher).ConfigureAwait(false); }
public async Task <IReadOnlyList <KeyDto> > Jobs(string schedulerName, GroupMatcherVM groupMatcher) { var scheduler = await GetScheduler(schedulerName).ConfigureAwait(false); var matcher = (groupMatcher ?? new GroupMatcherVM()).GetJobGroupMatcher(); var jobKeys = await scheduler.GetJobKeys(matcher).ConfigureAwait(false); return(jobKeys.Select(x => new KeyDto(x)).ToList()); }
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> Index() { var schedulers = await TimerUtil.GetSchedulers().ConfigureAwait(false); var matcher = new GroupMatcherVM().GetJobGroupMatcher(); IDictionary <SchedulerVM, IEnumerable <JobDetailVM> > jobs = new Dictionary <SchedulerVM, IEnumerable <JobDetailVM> >(); foreach (var item in schedulers) { var jobKeys = await item.GetJobKeys(matcher).ConfigureAwait(false); var jobDetails = jobKeys.Select(async o => await item.GetJobDetail(o).ConfigureAwait(false)) .Select(o => new JobDetailVM(item, o.Result)).OrderBy(o => o.NextFireTimeUtc).ThenBy(o => o.JobGroup); jobs.Add(new SchedulerVM(item), jobDetails); } return(View(jobs)); }
public async Task <IActionResult> Index() { var schedulers = await TimerUtil.GetSchedulers().ConfigureAwait(false); var matcher = new GroupMatcherVM().GetTriggerGroupMatcher(); IDictionary <SchedulerVM, IEnumerable <TriggerDetailVM> > triggers = new Dictionary <SchedulerVM, IEnumerable <TriggerDetailVM> >(); foreach (var item in schedulers) { var trgKeys = await item.GetTriggerKeys(matcher).ConfigureAwait(false); var trgDetailTasks = trgKeys.Select(async o => await item.GetTrigger(o).ConfigureAwait(false)) .Select(o => o.Result) .Select(async o => TriggerDetailVM.Create(o, o.CalendarName != null ? await item.GetCalendar(o.CalendarName).ConfigureAwait(false) : null)); var trgVMs = (await Task.WhenAll(trgDetailTasks)) .Select(o => { o.SchedulerName = item.SchedulerName; return(o); }) .OrderBy(o => o.NextFireTimes.FirstOrDefault()) .ThenBy(o => o.Group) .ThenBy(o => o.Priority); triggers.Add(new SchedulerVM(item), trgVMs); } return(View(triggers)); }