/// <summary> /// Initializes a new instance. /// </summary> /// <param name="logger">The logger.</param> /// <param name="setting">The setting.</param> /// <param name="endpointEnvKey">The endpoint env key.</param> /// <param name="passwordEnvKey">The password env key.</param> public RedisConsumerChannel( ILogger logger, RedisConsumerChannelSetting setting, string endpointEnvKey, string passwordEnvKey) { _logger = logger; _setting = setting; string name = string.Format( CONNECTION_NAME_PATTERN, Interlocked.Increment(ref _index)); _redisClientFactory = new RedisClientFactory( logger, name, RedisUsageIntent.Read, setting.RedisConfiguration, endpointEnvKey, passwordEnvKey); }
/// <summary> /// Initializes a new instance. /// </summary> /// <param name="logger">The logger.</param> /// <param name="configuration">The configuration.</param> /// <param name="resiliencePolicy">The resilience policy for retry.</param> /// <param name="endpointEnvKey">The endpoint env key.</param> /// <param name="passwordEnvKey">The password env key.</param> public RedisProducerChannel( ILogger logger, Action <ConfigurationOptions>?configuration, AsyncPolicy?resiliencePolicy, string endpointEnvKey, string passwordEnvKey) { _logger = logger; _resiliencePolicy = resiliencePolicy ?? Policy.Handle <Exception>() .RetryAsync(3); // TODO: [bnaya 2021-02] onRetry -> open telemetry string name = string.Format( CONNECTION_NAME_PATTERN, Interlocked.Increment(ref _index)); var redisClientFactory = new RedisClientFactory( logger, name, RedisUsageIntent.Write, configuration, endpointEnvKey, passwordEnvKey); _dbTask = redisClientFactory.GetDbAsync(); }