Exemplo n.º 1
0
        public ActionResult List(DataSourceRequest command, string searchValues, IEnumerable <Sort> sort = null)
        {
            var model = _httpContext.Session[SessionKey.ScheduledJobSearchModel] as SearchModel;

            if (model == null)
            {
                model = BuildSearchModel();
            }
            else
            {
                model.ClearValues();
            }

            if (ModelState.IsValid)
            {
                //session update
                model.Update(searchValues);
                _httpContext.Session[SessionKey.ScheduledJobSearchModel] = model;

                List <ScheduledJob> jobs = _quartzScheduler.GetJobs().OrderBy(j => j.JobName).ToList();

                PagedResult <ScheduledJob> data = new PagedResult <ScheduledJob>(jobs, jobs.Count);

                var gridModel = new DataSourceResult
                {
                    Data  = data.Result.Select(x => x.ToModel()),
                    Total = data.TotalCount
                };
                return(new JsonResult
                {
                    Data = gridModel
                });
            }

            return(Json(new { Errors = ModelState.SerializeErrors() }));
        }
        public void AddScheduledJob_Should_AddJob()
        {
            var        jobName   = Guid.NewGuid().ToString();
            var        logMock   = new Mock <ILog>();
            var        schedMock = new Mock <Quartz.IScheduler>();
            IScheduler scheduler = new QuartzScheduler(logMock.Object, schedMock.Object);

            scheduler.Start();

            scheduler.AddJob(new Entities.JobPackage()
            {
                Name           = jobName,
                Location       = new System.IO.DirectoryInfo(System.IO.Path.GetTempPath()),
                CronExpression = "0 0 12 ? * WED",
            });

            var jobNames = scheduler.GetJobs();

            Assert.Equal(jobName, jobNames.First());
        }
        public void Cannot_Remove_Job_That_Doesnt_Exist()
        {
            var        jobName   = Guid.NewGuid().ToString();
            var        logMock   = new Mock <ILog>();
            var        schedMock = new Mock <Quartz.IScheduler>();
            IScheduler scheduler = new QuartzScheduler(logMock.Object, schedMock.Object);

            scheduler.Start();
            var package = new Entities.JobPackage()
            {
                Name           = jobName,
                Location       = new System.IO.DirectoryInfo(System.IO.Path.GetTempPath()),
                CronExpression = "0 0 12 ? * WED",
            };

            scheduler.RemoveJob(package.Name);

            var jobNames = scheduler.GetJobs();

            Assert.False(jobNames.Contains(jobName));
        }
        public void Cannot_Add_Duplicate_Jobs()
        {
            var        jobName   = Guid.NewGuid().ToString();
            var        logMock   = new Mock <ILog>();
            var        schedMock = new Mock <Quartz.IScheduler>();
            IScheduler scheduler = new QuartzScheduler(logMock.Object, schedMock.Object);

            scheduler.Start();
            var package = new Entities.JobPackage()
            {
                Name           = jobName,
                Location       = new System.IO.DirectoryInfo(System.IO.Path.GetTempPath()),
                CronExpression = "0 0 12 ? * WED",
            };

            scheduler.AddJob(package);
            scheduler.AddJob(package);

            var jobNames = scheduler.GetJobs();

            Assert.Equal(1, jobNames.Count(x => x.Equals(jobName)));
        }
Exemplo n.º 5
0
 public IEnumerable <VmApiJobInfo> JobList()
 {
     return(QuartzScheduler.GetJobs().OrderBy(j => j.Name));
 }
Exemplo n.º 6
0
 public IEnumerable <VmApiJobInfo> RestartAll()
 {
     QuartzScheduler.RestartAllJobs();
     return(QuartzScheduler.GetJobs());
 }