private void ValidateScheduledRequest(IScheduleRequest scheduleRequest, IScheduledValidation scheduledValidation)
        {
            var jobId        = scheduledValidation.JobId;
            var instanceInfo = JobIdUtils.GetInstanceInfo(jobId);

            Assert.Equal(scheduleRequest.ValidatorId, instanceInfo.ValidatorId);
            Assert.Equal(scheduleRequest.ValidatorInstanceId, instanceInfo.ValidatorInstanceId);
        }
예제 #2
0
        public IScheduledValidation AddValidationToSchedule(IScheduleRequest scheduleRequest)
        {
            Guard.NotNull(scheduleRequest, "scheduleRequest", log);

            log.Debug("HangFireScheduler AddValidationToSchedule for validationId {ValidatorId} validationInstanceId {ValidatorInstanceId} cronTabExpressions {CronTabExpression}",
                      scheduleRequest.ValidatorId, scheduleRequest.ValidatorInstanceId, scheduleRequest.CronTabExpression);

            IScheduledValidation scheduledValidation = this.AddOrEditValidationSchedule(scheduleRequest);

            return(scheduledValidation);
        }
예제 #3
0
        private IScheduledValidation AddOrEditValidationSchedule(IScheduleRequest scheduleRequest)
        {
            string jobId = JobIdUtils.GetJobId(scheduleRequest.ValidatorId, scheduleRequest.ValidatorInstanceId);

            var cronTabExpression = scheduleRequest.CronTabExpression;

            this._sheduleCallbacker.ScheduleValidator(jobId, cronTabExpression);

            var scheduledValidation = new ScheduledValidation(jobId, cronTabExpression, DateTime.Now)
            {
            };

            return(scheduledValidation as IScheduledValidation);
        }
예제 #4
0
        public IScheduledValidation EditValidationSchedule(IScheduleRequest scheduleRequest)
        {
            Guard.NotNull(scheduleRequest, "scheduleRequest", log);
            this.ValidateScheduledRequestInputNotNull(scheduleRequest);

            log.Info("HangFireScheduler EditValidationSchedule for validationId {ValidatorId} validationInstanceId {ValidatorInstanceId} cronTabExpressions {CronTabExpression}",
                     scheduleRequest.ValidatorId, scheduleRequest.ValidatorInstanceId, scheduleRequest.CronTabExpression);

            if (!this.IsValidationScheduled(scheduleRequest.ValidatorId, scheduleRequest.ValidatorInstanceId))
            {
                throw new Exception("Validator's scheduled not found.");
            }

            return(this.AddOrEditValidationSchedule(scheduleRequest));
        }
예제 #5
0
 private void ValidateScheduledRequestInputNotNull(IScheduleRequest scheduleRequest)
 {
     Guard.NotNullOrEmpty(scheduleRequest.ValidatorId, "scheduleRequest.ValidatorId", log);
     Guard.NotNullOrEmpty(scheduleRequest.ValidatorInstanceId, "scheduleRequest.ValidatorInstanceId", log);
     Guard.NotNullOrEmpty(scheduleRequest.CronTabExpression, "scheduleRequest.CronTabExpression", log);
 }
예제 #6
0
 public IScheduledValidation EditValidationSchedule(IScheduleRequest scheduleRequest)
 {
     return(null);
 }
예제 #7
0
 public IScheduledValidation AddValidationToSchedule(IScheduleRequest scheduleRequest)
 {
     return(null);
 }