コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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();
        }