/// <summary> /// Add Job of type /// </summary> /// <typeparam name="T"></typeparam> /// <param name="job"></param> public void AddJob <T>(T job, DateTime jobStart) where T : IJob { if (!JobMethods.ContainsKey(typeof(T))) { throw new Exception($"No job registerd for type {typeof(T)}"); } lock (Jobs) { Jobs.Add(new InternalJob(job, jobStart)); TryStartProcessLoop(); TriggerInterupt(); } }
/// <summary> /// Add Job of type /// </summary> /// <typeparam name="T"></typeparam> /// <param name="job"></param> public void AddJob <T>(T job) where T : IJob { lock (JobMethods) { if (!JobMethods.ContainsKey(typeof(T))) { throw new Exception($"No job registerd for type {typeof(T)}"); } } lock (Jobs) { Jobs.Add(job); TryStartProcessLoop(); } CheckSemaphore(); }