Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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());
        }
Esempio n. 4
0
        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)));
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
        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));
        }