public RabbitMQBatchConsumerWorker(ILogger logger, RabbitMQConnection connection, string queueName, IModel model, IBatchProcessingWorker <T> batchProcessingWorker, IMessageRejectionHandler messageRejectionHandler, ISerializer serializer) { _logger = logger; _model = model; _model.BasicQos(0, batchProcessingWorker.GetBatchSize(), false); _queueName = queueName; _batchProcessingWorker = batchProcessingWorker; _messageRejectionHandler = messageRejectionHandler; _serializer = serializer; CheckAliveFrequency = new TimeSpan(0, 0, 10); }
public IQueueConsumer CreateBatchConsumer <T>(string queueName, IConsumerCountManager consumerCountManager, IBatchProcessingWorker <T> batchProcessingWorker, IMessageRejectionHandler messageRejectionHandler) where T : class { RabbitMQConnection connectionConsumer = ConnectionPerQueue ? _rabbitMQConnectionManager.CreateConnection($"consumer: {queueName}") : _rabbitMQConnectionManager.ConnectionByName("consumer") ?? _rabbitMQConnectionManager.CreateConnection("consumer"); var connectionPublisher = _rabbitMQConnectionManager.ConnectionByName("publisher"); return(new RabbitMQBatchConsumer <T>( connection: connectionConsumer, connectionPublisher: connectionPublisher, connectionFactory: _connectionFactory, queueName: queueName, serializer: _serializer, logger: _logger, batchProcessingWorker: batchProcessingWorker, consumerCountManager: consumerCountManager, messageRejectionHandler: messageRejectionHandler)); }
public RabbitMQBatchConsumer(ILogger logger, ConnectionFactory connectionFactory, RabbitMQConnection connection, RabbitMQConnection connectionPublisher, string queueName, IBatchProcessingWorker <T> batchProcessingWorker, ISerializer serializer = null, IConsumerCountManager consumerCountManager = null, IMessageRejectionHandler messageRejectionHandler = null) : base(connectionFactory, connection, connectionPublisher, queueName, serializer, logger, consumerCountManager, messageRejectionHandler) { _batchProcessingWorker = batchProcessingWorker; _logger = logger; }