public void DeleteJob(SchedulerJob job) { lock ( JobListLock ) { Jobs.Remove(job); UpdateJobList(); } lock ( JobListLock ) { JobListUpdated?.Invoke(this, EventArgs.Empty); } }
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); }
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); } }