def __init__(
self,
hosts=None,
connection_kwargs=None,
sentinel_services=None,
sentinel_refresh_interval=0, # noqa TODO Unused; remove this after all settings have been changed
sentinel_failover_retries=0,
):
# Master client caching
self._master_clients = {}
# Master failover behavior
assert sentinel_failover_retries >= 0
self._sentinel_failover_retries = sentinel_failover_retries
self._sentinel = redis.sentinel.Sentinel(self._setup_hosts(hosts), **(connection_kwargs or {}))
if sentinel_services:
self._validate_service_names(sentinel_services)
self._services = sentinel_services
else:
self._services = self._get_service_names()
self._ring_size = len(self._services)
self._connection_index_generator = itertools.cycle(range(self._ring_size))
self.metrics_counter_getter = None
super(SentinelRedisClient, self).__init__(ring_size=len(self._services))
评论列表
文章目录