コード例 #1
0
ファイル: BlockFactory.cs プロジェクト: tuga1975/Taskling.NET
        private IList <ForcedListBlockQueueItem> GetForcedListBlocks(ListBlockRequest blockRequest)
        {
            var forcedBlockRequest = new QueuedForcedBlocksRequest(new TaskId(blockRequest.ApplicationName, blockRequest.TaskName),
                                                                   blockRequest.TaskExecutionId,
                                                                   blockRequest.BlockType);

            var queuedForcedBlocks = _blockRepository.GetQueuedForcedListBlocks(forcedBlockRequest);

            return(queuedForcedBlocks);
        }
コード例 #2
0
ファイル: BlockFactory.cs プロジェクト: ruo2012/Taskling.NET
        private async Task <IList <ForcedListBlockQueueItem> > GetForcedListBlocksAsync(ListBlockRequest blockRequest)
        {
            var forcedBlockRequest = new QueuedForcedBlocksRequest(new TaskId(blockRequest.ApplicationName, blockRequest.TaskName),
                                                                   blockRequest.TaskExecutionId,
                                                                   blockRequest.BlockType);

            var queuedForcedBlocks = await _blockRepository.GetQueuedForcedListBlocksAsync(forcedBlockRequest).ConfigureAwait(false);

            return(queuedForcedBlocks);
        }
コード例 #3
0
ファイル: BlockFactory.cs プロジェクト: tuga1975/Taskling.NET
        private List <IObjectBlockContext <T> > GetForcedObjectBlocks <T>(ObjectBlockRequest <T> blockRequest)
        {
            var forcedBlockRequest = new QueuedForcedBlocksRequest(new TaskId(blockRequest.ApplicationName, blockRequest.TaskName),
                                                                   blockRequest.TaskExecutionId,
                                                                   blockRequest.BlockType);

            var queuedForcedBlocks = _blockRepository.GetQueuedForcedObjectBlocks <T>(forcedBlockRequest);

            var forcedBlocks = new List <IObjectBlockContext <T> >();

            foreach (var queuedForcedBlock in queuedForcedBlocks)
            {
                forcedBlocks.Add(CreateObjectBlockContext(blockRequest, queuedForcedBlock.ObjectBlock, queuedForcedBlock.ForcedBlockQueueId));
            }

            if (forcedBlocks.Any())
            {
                DequeueForcedBlocks(blockRequest, forcedBlocks.Select(x => x.ForcedBlockQueueId).ToList());
            }

            return(forcedBlocks);
        }
コード例 #4
0
ファイル: BlockFactory.cs プロジェクト: ruo2012/Taskling.NET
        private async Task <List <IObjectBlockContext <T> > > GetForcedObjectBlocksAsync <T>(ObjectBlockRequest <T> blockRequest)
        {
            var forcedBlockRequest = new QueuedForcedBlocksRequest(new TaskId(blockRequest.ApplicationName, blockRequest.TaskName),
                                                                   blockRequest.TaskExecutionId,
                                                                   blockRequest.BlockType);

            var queuedForcedBlocks = await _blockRepository.GetQueuedForcedObjectBlocksAsync <T>(forcedBlockRequest).ConfigureAwait(false);

            var forcedBlocks = new List <IObjectBlockContext <T> >();

            foreach (var queuedForcedBlock in queuedForcedBlocks)
            {
                forcedBlocks.Add(await CreateObjectBlockContextAsync(blockRequest, queuedForcedBlock.ObjectBlock, queuedForcedBlock.ForcedBlockQueueId).ConfigureAwait(false));
            }

            if (forcedBlocks.Any())
            {
                await DequeueForcedBlocksAsync(blockRequest, forcedBlocks.Select(x => x.ForcedBlockQueueId).ToList()).ConfigureAwait(false);
            }

            return(forcedBlocks);
        }