/// <summary>
 /// Raises the JobRunner's RetryEnqueued event.
 /// </summary>
 /// <param name="sender">The event sender.</param>
 /// <param name="e">The event arguments.</param>
 private void JobRunnerRetryEnqueued(object sender, JobRecordEventArgs e)
 {
     lock (this)
     {
         if (this.EventSink != null)
         {
             this.EventSink.FireRetryEnqueued(e);
         }
     }
 }
 /// <summary>
 /// Raises the JobRunner's TimeoutJob event.
 /// </summary>
 /// <param name="sender">The event sender.</param>
 /// <param name="e">The event arguments.</param>
 private void JobRunnerTimeoutJob(object sender, JobRecordEventArgs e)
 {
     lock (this)
     {
         if (this.EventSink != null)
         {
             this.EventSink.FireTimeoutJob(e);
         }
     }
 }
 public void FireDequeueJob(JobRecordEventArgs e)
 {
     this.RaiseEvent(this.DequeueJob, e);
 }
 /// <summary>
 /// Raises the JobRunner's ExecuteScheduledJob event.
 /// </summary>
 /// <param name="sender">The event sender.</param>
 /// <param name="e">The event arguments.</param>
 private void JobRunnerExecuteScheduledJob(object sender, JobRecordEventArgs e)
 {
     lock (this)
     {
         if (this.EventSink != null)
         {
             this.EventSink.FireExecuteScheduledJob(e);
         }
     }
 }
 public void FireTimeoutJob(JobRecordEventArgs e)
 {
     this.RaiseEvent(this.TimeoutJob, e);
 }
 public void FireCancelJob(JobRecordEventArgs e)
 {
     this.RaiseEvent(this.CancelJob, e);
 }
 public void FireFinishJob(JobRecordEventArgs e)
 {
     this.RaiseEvent(this.FinishJob, e);
 }
 public void FireRetryEnqueued(JobRecordEventArgs e)
 {
     this.RaiseEvent(this.RetryEnqueued, e);
 }
 /// <summary>
 /// Raises the runner's TimeoutJob event.
 /// </summary>
 /// <param name="sender">The event sender.</param>
 /// <param name="e">The event arguments.</param>
 private static void RunnerTimeoutJob(object sender, JobRecordEventArgs e)
 {
     if (TimeoutJob != null)
     {
         TimeoutJob(sender, e);
     }
 }
 public void FireExecuteScheduledJob(JobRecordEventArgs e)
 {
     this.RaiseEvent(this.ExecuteScheduledJob, e);
 }
 /// <summary>
 /// Raises the runner's RetryEnqueued event.
 /// </summary>
 /// <param name="sender">The event sender.</param>
 /// <param name="e">The event arguments.</param>
 private static void RunnerRetryEnqueued(object sender, JobRecordEventArgs e)
 {
     if (RetryEnqueued != null)
     {
         RetryEnqueued(sender, e);
     }
 }
 /// <summary>
 /// Raises the runner's FinishJob event.
 /// </summary>
 /// <param name="sender">The event sender.</param>
 /// <param name="e">The event arguments.</param>
 private static void RunnerFinishJob(object sender, JobRecordEventArgs e)
 {
     if (FinishJob != null)
     {
         FinishJob(sender, e);
     }
 }
 /// <summary>
 /// Raises the runner's ExecuteScheduledJob event.
 /// </summary>
 /// <param name="sender">The event sender.</param>
 /// <param name="e">The event arguments.</param>
 private static void RunnerExecuteScheduledJob(object sender, JobRecordEventArgs e)
 {
     if (ExecuteScheduledJob != null)
     {
         ExecuteScheduledJob(sender, e);
     }
 }
 /// <summary>
 /// Raises the runner's DequeueJob event.
 /// </summary>
 /// <param name="sender">The event sender.</param>
 /// <param name="e">The event arguments.</param>
 private static void RunnerDequeueJob(object sender, JobRecordEventArgs e)
 {
     if (DequeueJob != null)
     {
         DequeueJob(sender, e);
     }
 }
 /// <summary>
 /// Raises the runner's CancelJob event.
 /// </summary>
 /// <param name="sender">The event sender.</param>
 /// <param name="e">The event arguments.</param>
 private static void RunnerCancelJob(object sender, JobRecordEventArgs e)
 {
     if (CancelJob != null)
     {
         CancelJob(sender, e);
     }
 }