public void PopProcessedJob() { lock (_processedJobLock) { ProcessedJobQueue.RemoveAt(0); } }
public object PopProcessedJob() { lock (_processedJobLock) { return(ProcessedJobQueue.Dequeue()); } }
public void PushProcessedJob(object processedJob) { lock (_processedJobLock) { if (processedJob is ImageJobModel) { var job = processedJob as ImageJobModel; var id = job.FilmingIdentifier; var batchJob = ProcessedJobQueue.Find(j => j is BatchJob && (j as BatchJob).Id == id && !(j as BatchJob).IsComplete) as BatchJob; if (batchJob != null) { batchJob.Add(job); } else { ProcessedJobQueue.Add(job); } } else { ProcessedJobQueue.Add(processedJob); } Logger.LogInfo("Add Processed Job!"); } WakeUpWorkThread(); }
public void PushProcessedJob(object processedJob) { lock (_processedJobLock) { ProcessedJobQueue.Enqueue(processedJob); Logger.LogInfo("Add Processed Job!"); } _processedManualResetEvent.Set(); }
public object PeekProcessedJob() { lock (_processedJobLock) { var task = ProcessedJobQueue[0] as ACommandHandler; if (task == null) { ProcessedJobQueue.RemoveAt(0); return(null); } var job = task.CurrentJob(); if (task.IsReady) { ProcessedJobQueue.RemoveAt(0); } return(job); } }