Example #1
0
        public void DeleteJob(SchedulerJob job)
        {
            lock ( JobListLock )
            {
                Jobs.Remove(job);
                UpdateJobList();
            }

            lock ( JobListLock )
            {
                JobListUpdated?.Invoke(this, EventArgs.Empty);
            }
        }
Example #2
0
        internal bool ProcessJob(SchedulerJob job)
        {
            if (job.TargetTime <= DateTime.Now)
            {
                IJobProcessor processor;
                if (JobProcessors.TryGetValue(job.JobType, out processor))
                {
                    processor.Process(job);
                    return(true);
                }

                LogTo.Warn($"Unknown job type was scheduled ({job.JobType})");
            }

            return(false);
        }
Example #3
0
        public void AddJob(SchedulerJob job)
        {
            Debug.Assert(job.AccountIds.Any());
            Debug.Assert(!string.IsNullOrEmpty(job.Text));

            lock ( JobListLock )
            {
                job.JobId = JobIdCounter++;

                Jobs.Add(job);
                UpdateJobList();
            }

            lock ( JobListLock )
            {
                JobListUpdated?.Invoke(this, EventArgs.Empty);
            }
        }