示例#1
0
        private static void ValidationJobWorker(object state)
        {
            ValidationJobState jobState = (ValidationJobState)state;

            try
            {
                // start validation job workflow
                jobState.RuleEngine.Validate();
            }
            catch (Exception ex)
            {
                if (!RuleEngine.Common.ExceptionHelper.IsCatchableExceptionType(ex))
                {
                    throw;
                }

                MarkJobAsCompletedInError(jobState.JobId);
                if (ex is SystemException)
                {
                    throw;
                }
            }
            finally
            {
                workerPool.Release();
            }
        }
示例#2
0
        /// <summary>Initialize a new instance ValidationJobState</summary>
        /// <param name="ruleEngine">Rule engine</param>
        /// <param name="jobId">Guid</param>
        private void InitJobState(RuleEngineWrapper ruleEngine, Guid jobId)
        {
            var jobState = new ValidationJobState();

            jobState.RuleEngine = ruleEngine;
            jobState.JobId      = jobId;
            this.jobStates.Add(jobState);
        }
示例#3
0
 /// <summary>Enqueue job</summary>
 /// <param name="jobState">ValidationJobState for enqueue</param>
 public static void EnqueueJob(ValidationJobState jobState)
 {
     jobQueue.Add(jobState);
 }
 /// <summary>Enqueue job</summary>
 /// <param name="jobState">ValidationJobState for enqueue</param>
 public static void EnqueueJob(ValidationJobState jobState)
 {
     jobQueue.Add(jobState);
 }