Ejemplo n.º 1
0
        public async Task AddJob(QuartzOptionDTO quartzOptionDTO)
        {
            Valid(quartzOptionDTO);
            int count = _quartzOptionRepository.SelectCount(s => s.GroupName == quartzOptionDTO.GroupName && s.JobName == quartzOptionDTO.JobName);

            if (count > 0)
            {
                throw new ArgumentException(string.Format("分组:{0},作业:{1}已存在", quartzOptionDTO.GroupName, quartzOptionDTO.JobName));
            }
            QuartzOption quartzOption = new QuartzOption();

            quartzOption.JobName        = quartzOptionDTO.JobName;
            quartzOption.GroupName      = quartzOptionDTO.GroupName;
            quartzOption.Cron           = quartzOptionDTO.Cron;
            quartzOption.Api            = quartzOptionDTO.Api;
            quartzOption.RequestType    = quartzOptionDTO.RequestType;
            quartzOption.ParameterValue = quartzOptionDTO.ParameterValue;
            quartzOption.Description    = quartzOptionDTO.Description;
            quartzOption.TaskStatus     = TaskStatus.暂停;
            quartzOption.CreateTime     = DateTime.Now;
            _quartzOptionRepository.Insert(quartzOption);
            await _schedulerFactory.AddJob(quartzOption);
        }