Esempio n. 1
0
 private void WorkItemWasSuccessful(AbstractBatchedWorkItem workItem, bool batchDone)
 {
     _results.Add(workItem.Result);
     if (batchDone)
     {
         Status = WorkStatus.Successful;
     }
 }
Esempio n. 2
0
        public bool WorkDone(AbstractBatchedWorkItem workItem)
        {
            if (_workBatchSize <= 0)
            {
                throw new ApplicationException("Batch completed");
            }

            Interlocked.Decrement(ref _workBatchSize);
            CompletedWorkItems.Add(workItem);

            return(_workBatchSize == 0);
        }
Esempio n. 3
0
        public bool WorkDone(AbstractBatchedWorkItem workItem)
        {
            if (_workBatchSize <= 0)
            {
                throw new ApplicationException("Batch completed");
            }

            var batchDone = Interlocked.Decrement(ref _workBatchSize) == 0;

            if (workItem.Status == WorkStatus.Failed)
            {
                Status = WorkStatus.Failed;
            }
            else
            {
                WorkItemWasSuccessful(workItem, batchDone);
            }

            return(batchDone);
        }