public void Add(Job job, JobSchedule jobSchedule)
 {
     if (m_activeJobs.Any(x => x.JobId == job.Id))
     {
         return;
     }
     m_logger.Info("Enqueueing {0}", job.Name);
     var je = new JobExecutioner(job, jobSchedule, this.TaskManager);
     m_activeJobs.Add(je);
     m_jobQueue.Enqueue(je);
 }
		public JobExecutioner(Job job, JobSchedule jobSchedule, TaskManager taskManager)
		{
			m_db = ContextFactory.CreateContext();
			m_job = job;
			m_jobSchedule = jobSchedule;
			m_stopwatch = new Stopwatch();
			m_cancelToken = new CancellationTokenSource();
            m_taskManager = taskManager;
            m_logger = Logging.LogProvider.Instance.Logger;
			this.OutCome = JobStepOutCome.Unknown;
			this.Status = JobStatus.WaitingForWorkerThread;
			ReportQueuedDateTime();
		}