Beispiel #1
0
 private static long Schedule(JobProcessor loop, IJob job, DateTime time)
 {
     lock (Scheduler.scheduleList)
     {
         while (Scheduler.scheduleList.ContainsKey(time))
         {
             time = time.AddTicks(1L);
         }
         Scheduler.scheduleList.Add(time, new Scheduler.JobPair(loop, job));
     }
     Scheduler.enqueueEvent.Set();
     return(time.Ticks);
 }
Beispiel #2
0
 public static long Schedule(JobProcessor loop, IJob job, int milliSecond)
 {
     return(Scheduler.Schedule(loop, job, DateTime.UtcNow.AddTicks((long)milliSecond * 10000L)));
 }
Beispiel #3
0
 public static long Schedule(JobProcessor loop, IJob job, TimeSpan timeSpan)
 {
     return(Scheduler.Schedule(loop, job, DateTime.UtcNow + timeSpan));
 }
Beispiel #4
0
 public JobPair(JobProcessor jobProcessor, IJob job)
 {
     this.JobProcessor = jobProcessor;
     this.Job          = job;
 }