private static JobDescriptor GetNextMessage(DateTime stop, ITimeBasedQueue queue, out DateTime actualStop) { JobDescriptor result = null; actualStop = DateTime.MaxValue; int count = 0; while (DateTime.Now < stop && result == null) { result = queue.Next(); actualStop = DateTime.Now; count++; Thread.Yield(); } return(result); }
public SimpleController(ITimeBasedQueue timeBasedQueue, IJobTriggeringQueue jobTriggeringQueue) { this.timeBasedQueue = timeBasedQueue ?? throw new ArgumentNullException(nameof(timeBasedQueue)); this.jobTriggeringQueue = jobTriggeringQueue ?? throw new ArgumentNullException(nameof(jobTriggeringQueue)); }