예제 #1
0
            /// <inheritdoc />
            public void Dispose()
            {
                BaseJobStore cachedJobStore = jobStore;

                if (cachedJobStore != null)
                {
                    jobStore = null;
                    cachedJobStore.SignalBlockedThreads();
                }
            }
예제 #2
0
            /// <inheritdoc />
            public JobDetails GetNextJobToProcess()
            {
                for (;;)
                {
                    BaseJobStore cachedJobStore = jobStore;
                    if (cachedJobStore == null)
                    {
                        return(null);
                    }

                    JobDetails jobDetails = jobStore.GetNextJobToProcessOrWaitUntilSignaled(schedulerGuid);
                    if (jobDetails != null)
                    {
                        return(jobDetails);
                    }
                }
            }
예제 #3
0
 /// <inheritdoc />
 public void Dispose()
 {
     BaseJobStore cachedJobStore = jobStore;
     if (cachedJobStore != null)
     {
         jobStore = null;
         cachedJobStore.SignalBlockedThreads();
     }
 }
예제 #4
0
 /// <summary>
 /// Creates a job watcher for the specified job store and scheduler.
 /// </summary>
 /// <param name="jobStore">The job store to which to delegate the watching operations</param>
 /// <param name="schedulerGuid">The scheduler GUID</param>
 public JobWatcher(BaseJobStore jobStore, Guid schedulerGuid)
 {
     this.jobStore = jobStore;
     this.schedulerGuid = schedulerGuid;
 }
예제 #5
0
 /// <summary>
 /// Creates a job watcher for the specified job store and scheduler.
 /// </summary>
 /// <param name="jobStore">The job store to which to delegate the watching operations</param>
 /// <param name="schedulerGuid">The scheduler GUID</param>
 public JobWatcher(BaseJobStore jobStore, Guid schedulerGuid)
 {
     this.jobStore      = jobStore;
     this.schedulerGuid = schedulerGuid;
 }