sentinel.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:pysoa 作者: eventbrite 项目源码 文件源码
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))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号