protected void CommitUncommittedItems()
        {
            List <IListBlockItem <TItem> > listToCommit = null;

            lock (_uncommittedListSyncRoot)
            {
                if (_uncommittedItems != null && _uncommittedItems.Any())
                {
                    listToCommit = new List <IListBlockItem <TItem> >(_uncommittedItems);
                    _uncommittedItems.Clear();
                }
            }

            if (listToCommit != null && listToCommit.Any())
            {
                var batchUpdateRequest = new BatchUpdateRequest()
                {
                    TaskId         = new TaskId(_applicationName, _taskName),
                    ListBlockId    = ListBlockId,
                    ListBlockItems = Convert(listToCommit)
                };

                Action <BatchUpdateRequest> actionRequest = _listBlockRepository.BatchUpdateListBlockItems;
                RetryService.InvokeWithRetry(actionRequest, batchUpdateRequest);
            }
        }
Esempio n. 2
0
        public void Failed()
        {
            var request = new BlockExecutionChangeStatusRequest(new TaskId(_applicationName, _taskName),
                                                                _taskExecutionId,
                                                                _block.RangeType,
                                                                BlockExecutionId,
                                                                BlockExecutionStatus.Failed);

            Action <BlockExecutionChangeStatusRequest> actionRequest = _rangeBlockRepository.ChangeStatus;

            RetryService.InvokeWithRetry(actionRequest, request);
        }
        protected void SetStatusAsFailed()
        {
            var request = new BlockExecutionChangeStatusRequest(new TaskId(_applicationName, _taskName),
                                                                _taskExecutionId,
                                                                BlockType.List,
                                                                BlockExecutionId,
                                                                BlockExecutionStatus.Failed);

            Action <BlockExecutionChangeStatusRequest> actionRequest = _listBlockRepository.ChangeStatus;

            RetryService.InvokeWithRetry(actionRequest, request);
        }
Esempio n. 4
0
        public void Start()
        {
            var request = new BlockExecutionChangeStatusRequest(new TaskId(_applicationName, _taskName),
                                                                _taskExecutionId,
                                                                BlockType.Object,
                                                                BlockExecutionId,
                                                                BlockExecutionStatus.Started);

            Action <BlockExecutionChangeStatusRequest> actionRequest = _objectBlockRepository.ChangeStatus;

            RetryService.InvokeWithRetry(actionRequest, request);
        }
        protected void Commit(string listBlockId, IListBlockItem <TItem> item)
        {
            var singleUpdateRequest = new SingleUpdateRequest()
            {
                TaskId        = new TaskId(_applicationName, _taskName),
                ListBlockId   = listBlockId,
                ListBlockItem = Convert(item)
            };

            Action <SingleUpdateRequest> actionRequest = _listBlockRepository.UpdateListBlockItem;

            RetryService.InvokeWithRetry(actionRequest, singleUpdateRequest);
        }
Esempio n. 6
0
        public void Complete(int itemsProcessed)
        {
            var request = new BlockExecutionChangeStatusRequest(new TaskId(_applicationName, _taskName),
                                                                _taskExecutionId,
                                                                _block.RangeType,
                                                                BlockExecutionId,
                                                                BlockExecutionStatus.Completed);

            request.ItemsProcessed = itemsProcessed;

            Action <BlockExecutionChangeStatusRequest> actionRequest = _rangeBlockRepository.ChangeStatus;

            RetryService.InvokeWithRetry(actionRequest, request);
        }
        public void Complete()
        {
            ValidateBlockIsActive();
            CommitUncommittedItems();

            var status = BlockExecutionStatus.Completed;

            if (GetItems(ItemStatus.Failed, ItemStatus.Pending).Any())
            {
                status = BlockExecutionStatus.Failed;
            }

            var request = new BlockExecutionChangeStatusRequest(new TaskId(_applicationName, _taskName),
                                                                _taskExecutionId,
                                                                BlockType.List,
                                                                BlockExecutionId,
                                                                status);

            Action <BlockExecutionChangeStatusRequest> actionRequest = _listBlockRepository.ChangeStatus;

            RetryService.InvokeWithRetry(actionRequest, request);
        }