예제 #1
0
        /// <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();
            }
        }
예제 #2
0
        /// <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();
        }