Пример #1
0
        public static void Start(IBatchParameters batchParameters, IMessagingServiceClient messagingServiceClient)
        {
            var batchWorkerRecord           = new BatchWorkerRecord(messagingServiceClient);
            var batchWorkerReceiveAndForget = new BatchWorkerReceiveAndForget(messagingServiceClient);
            var batchWorkerPeek             = new BatchWorkerPeek(messagingServiceClient);
            var batchWorkerCommit           = new BatchWorkerCommit(messagingServiceClient);

            BatchRunnerReceiveAndForget = new BatchRunner <long, OutgoingMessageToStoreWithState>(
                batchParameters.MessagingReceiveAndForgetCollectionTime,
                batchParameters.MessagingReceiveAndForgetCollectionBatch,
                batchParameters.MessagingReceiveAndForgetFlushBatch,
                batchParameters.MessagingReceiveAndForgetOperationTimeout,
                batchParameters.MessagingReceiveAndForgetWorkerStopTimeout,
                batchWorkerReceiveAndForget);

            BatchRunnerPeek = new BatchRunner <long, OutgoingMessageToStoreWithState>(
                batchParameters.MessagingPeekCollectionTime,
                batchParameters.MessagingPeekCollectionBatch,
                batchParameters.MessagingPeekFlushBatch,
                batchParameters.MessagingPeekOperationTimeout,
                batchParameters.MessagingPeekWorkerStopTimeout,
                batchWorkerPeek);

            BatchRunnerCommit = new BatchRunner <long, OutgoingState>(
                batchParameters.MessagingCommitCollectionTime,
                batchParameters.MessagingCommitCollectionBatch,
                batchParameters.MessagingCommitFlushBatch,
                batchParameters.MessagingCommitOperationTimeout,
                batchParameters.MessagingCommitWorkerStopTimeout,
                batchWorkerCommit);

            BatchRunnerRecord =
                new BatchRunner <OutgoingMessageToStore, OutgoingState>(
                    batchParameters.MessagingRecordCollectionTime,
                    batchParameters.MessagingRecordCollectionBatch,
                    batchParameters.MessagingRecordFlushBatch,
                    batchParameters.MessagingRecordOperationTimeout,
                    batchParameters.MessagingRecordWorkerStopTimeout,
                    batchWorkerRecord);

            BatchRunnerReceiveAndForget.Start();
            BatchRunnerPeek.Start();
            BatchRunnerCommit.Start();
            BatchRunnerRecord.Start();
        }
 public PersistentConnectionPeekWorker(PusherRegistry pusherRegistry,
                                       IMessagingOperations outgoingMessageReader, IBatchParameters batchParameters)
     : base(
         pusherRegistry, outgoingMessageReader, batchParameters.PersistentConnectionMessagePeekCollectionTime,
         batchParameters.PersistentConnectionMessagePeekCollectionBatch)
 {
 }