private IList<IListBlockContext<Journey, BatchDatesHeader>> GetListBlocks(ITaskExecutionContext taskExecutionContext)
        {
            using (var cs = taskExecutionContext.CreateCriticalSection())
            {
                if (cs.TryStart())
                {
                    var startDate = GetDateRangeStartDate(taskExecutionContext);
                    var endDate = DateTime.Now;

                    var journeys = _travelDataService.GetJourneys(startDate, endDate).ToList();
                    var batchHeader = new BatchDatesHeader()
                    {
                        FromDate = startDate,
                        ToDate = endDate
                    };

                    short blockSize = 500;
                    return taskExecutionContext.GetListBlocks<Journey, BatchDatesHeader>(x => x.WithPeriodicCommit(journeys, batchHeader, blockSize, BatchSize.Fifty));
                }
                throw new Exception("Could not acquire a critical section, aborted task");
            }
        }
예제 #2
0
        private IList <IListBlockContext <Journey, BatchDatesHeader> > GetListBlocks(ITaskExecutionContext taskExecutionContext)
        {
            using (var cs = taskExecutionContext.CreateCriticalSection())
            {
                if (cs.TryStart())
                {
                    var startDate = GetDateRangeStartDate(taskExecutionContext);
                    var endDate   = DateTime.Now;

                    var journeys    = _travelDataService.GetJourneys(startDate, endDate).ToList();
                    var batchHeader = new BatchDatesHeader()
                    {
                        FromDate = startDate,
                        ToDate   = endDate
                    };

                    short blockSize = 500;
                    return(taskExecutionContext.GetListBlocks <Journey, BatchDatesHeader>(x => x.WithPeriodicCommit(journeys, batchHeader, blockSize, BatchSize.Fifty)));
                }
                throw new Exception("Could not acquire a critical section, aborted task");
            }
        }