Ejemplo n.º 1
0
        public bool AddJob(IJob job)
        {
            var eventArgs = new AddJobEventArgs(job);

            JobAdded?.Invoke(this, eventArgs);

            return(eventArgs.Success);
        }
Ejemplo n.º 2
0
        public override void AddJob(Job job)
        {
            if (Jobs == null)
            {
                Jobs = new List <Job>();
            }
            Jobs.Add(job);

            handlersAdded.WaitOne();

            JobAdded?.Invoke((JobImpl)job, job.Status);
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 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);
 }