public void QueueValidatorForExecution(ValidatorInstanceInfo info) { _validatorsToRun.Add(info); #if DEBUG JobsQueued++; #endif }
public void TestQueueValidatorRunsCorrectly(ValidatorInstanceInfo info, IValidatorRunner validatorRunner, IScheduleCallback scheduleCallbacker, IValidationScheduler validatorScheduler, IValidatorProvider validatorProvider, IList <IValidatorInstance> validatorInstancesToReturn, IValidationResultHandler[] notificationHandler, IPublishEndpoint publishEndpoint) { var vs = new ValidationServer(validatorProvider, validatorRunner, validatorScheduler, scheduleCallbacker, publishEndpoint, notificationHandler); vs.QueueValidatorForExecution(info); }
public void ScheduleCallBack(string jobId) { Guard.NotNull(jobId, "jobId", log); ValidatorInstanceInfo validatorInfo = JobIdUtils.GetInstanceInfo(jobId); var validatorInfoArgs = new ValidatorInfoArgs(validatorInfo); if (RunValidatorEvent != null) { log.Debug("HangFireScheduleCallback ScheduleCallBack: schedule call back for job id {JobId}", jobId); RunValidatorEvent(this, validatorInfoArgs); } #if DEBUG HangFireScheduler.JobsScheduledCalledBack++; #endif }
private List <IValidatorRunEntry> RunValidatorInstance(ValidatorInstanceInfo info) { var startTime = DateTime.Now; IValidatorProxy validatorProxy = null; try { validatorProxy = _validatorProvider.GetValidatorProxy(info.ValidatorId); IValidatorInstance validatorInstance = _validatorProvider.GetValidatorInstance(info.ValidatorId, info.ValidatorInstanceId); log.Debug("Validator: {ValidatorId} Version: {ValidatorVersion}{NewLine} Description: {Description}", validatorProxy.ValidatorId, validatorProxy.Version.ToString(), Environment.NewLine, validatorProxy.Description); log.Debug("ValidatorInstance: {Name} Description: {Description} beginning to validate.", validatorInstance.Name, validatorInstance.Description); IValidator validator = validatorProxy.Create(validatorInstance); IValidatorContext vc = new ValidatorContext(); IList <IValidatorResult> results = validator.Execute(vc); var endTime = DateTime.Now; log.Debug("ValidatorInstance: {Name} finished validating. Start: {start} End: {end}", validatorInstance.Name, startTime.ToString(), endTime.ToString()); log.Debug("ValidatorInstance: {Name} returned {resultCount} results.", validatorInstance.Name, results.Count); List <IValidatorRunEntry> runEntries = results.Select(x => new ValidatorRunEntry(startTime, endTime, x, validator.FilterSequence) { } as IValidatorRunEntry).ToList(); return(runEntries); } catch (Exception ex) { log.Error(ex, "{ValidatorProxy} execution caused Error: {Message}", validatorProxy.ValidatorId, ex.Message); var vr = new ValidatorResult(validatorProxy.ValidatorId, ex.Message, ValidatorResultCode.Error, UnhandledExceptionResultCode); var vre = new ValidatorRunEntry(startTime, DateTime.Now, vr); return(new List <IValidatorRunEntry>() { vre }); } }
public void QueueValidatorForExecution(ValidatorInstanceInfo info) { }
public ValidatorInfoArgs(ValidatorInstanceInfo info) { Guard.NotNull(info, "info", log); this.ValidatorInfo = info; }
private List <IValidatorRunEntry> RunValidator(ValidatorInstanceInfo info) { List <IValidatorRunEntry> runEntry = this.RunValidatorInstance(info); return(runEntry); }
public void QueueValidatorForExecution(ValidatorInstanceInfo info) { Guard.NotNull(info, "info", log); _validatorRunner.QueueValidatorForExecution(info); }