public bool AddJob(IJob job) { var eventArgs = new AddJobEventArgs(job); JobAdded?.Invoke(this, eventArgs); return(eventArgs.Success); }
public override void AddJob(Job job) { if (Jobs == null) { Jobs = new List <Job>(); } Jobs.Add(job); handlersAdded.WaitOne(); JobAdded?.Invoke((JobImpl)job, job.Status); }
private void AddJob() { var ent = _kernel.Get <IExperienceEntity>(); ent.Employer = Employer; ent.Titles.Add(JobTitle); ent.StartDate = StartDate; ent.EndDate = EndDate; repos.Add(ent); JobAdded?.Invoke(this, new EventArgs()); }
public void Add(Job job) { lock (jobs) { lock (job) { if (jobs.Contains(job) || job.HasScheduler) { throw new ArgumentException("Job not schedulable", "job"); } job.HasScheduler = true; } jobs.Add(job); job.State = JobState.Scheduled; job.Finished += OnJobFinished; if (CanStart(job)) { StartJob(job); } } JobAdded?.Invoke(job); }
public void push(Job job) //inserisce un nuovo job in coda, se si rende conto che la coda era precedentemente vuota risveglia il consumer { list.TryAdd(job.Id, job); JobAdded?.Invoke(job); }