public RedisMessagesConsumerManager( ILogger <RedisMessagesConsumerManager> logger, string connectionString, RedisMQSettings mqSettings, IRedisMessageKeyBuilder keyBuilder) { ThrowHelper.ThrowIfNull(logger, nameof(logger)); ThrowHelper.ThrowIfNull(connectionString, nameof(connectionString)); ThrowHelper.ThrowIfNull(mqSettings, nameof(mqSettings)); ThrowHelper.ThrowIfNull(keyBuilder, nameof(keyBuilder)); const int lockReserve = 500; _mqSettings = mqSettings; _multiplexer = ConnectionMultiplexer.Connect(connectionString); _logger = logger; _lockTtl = TimeSpan.FromMilliseconds(_mqSettings.LookupDelayMilliseconds + lockReserve); _lockToken = Guid.NewGuid().ToString(); _consumer = new RedisMessagesConsumer( logger, _multiplexer, _mqSettings.TasksQueueName, _mqSettings.DeadLetterQueue, keyBuilder); }
public RedisMessagesConsumer( ILogger logger, IConnectionMultiplexer multiplexer, string tasksQueue, string deadLetterQueue, IRedisMessageKeyBuilder keyBuilder) { _handlers = new Dictionary <string, IRedisMessageHandler>(); _logger = logger; _multiplexer = multiplexer; _tasksQueue = tasksQueue; _deadLetterQueue = deadLetterQueue; _keyBuilder = keyBuilder; }