Beispiel #1
0
    def __init__(self,
                 host='localhost',
                 port=6379,
                 db=0,
                 password=None,
                 stream_timeout=None,
                 connect_timeout=None,
                 connection_pool=None,
                 unix_socket_path=None,
                 encoding='utf-8',
                 decode_responses=False,
                 ssl=False,
                 ssl_context=None,
                 ssl_keyfile=None,
                 ssl_certfile=None,
                 ssl_cert_reqs=None,
                 ssl_ca_certs=None,
                 max_connections=None,
                 retry_on_timeout=False,
                 max_idle_time=0,
                 idle_check_interval=1,
                 client_name=None,
                 loop=None,
                 **kwargs):
        if not connection_pool:
            kwargs = {
                'db': db,
                'password': password,
                'encoding': encoding,
                'stream_timeout': stream_timeout,
                'connect_timeout': connect_timeout,
                'max_connections': max_connections,
                'retry_on_timeout': retry_on_timeout,
                'decode_responses': decode_responses,
                'max_idle_time': max_idle_time,
                'idle_check_interval': idle_check_interval,
                'client_name': client_name,
                'loop': loop
            }
            # based on input, setup appropriate connection args
            if unix_socket_path is not None:
                kwargs.update({
                    'path': unix_socket_path,
                    'connection_class': UnixDomainSocketConnection
                })
            else:
                # TCP specific options
                kwargs.update({'host': host, 'port': port})
                if ssl_context is not None:
                    kwargs['ssl_context'] = ssl_context
                elif ssl:
                    ssl_context = RedisSSLContext(ssl_keyfile, ssl_certfile,
                                                  ssl_cert_reqs,
                                                  ssl_ca_certs).get()
                    kwargs['ssl_context'] = ssl_context
            connection_pool = ConnectionPool(**kwargs)
        self.connection_pool = connection_pool
        self._use_lua_lock = None

        self.response_callbacks = self.__class__.RESPONSE_CALLBACKS.copy()
Beispiel #2
0
    def __init__(self,
                 host='localhost',
                 port=6379,
                 db=0,
                 password=None,
                 stream_timeout=None,
                 connect_timeout=None,
                 connection_pool=None,
                 unix_socket_path=None,
                 ssl=False,
                 ssl_keyfile=None,
                 ssl_certfile=None,
                 ssl_cert_reqs=None,
                 ssl_ca_certs=None,
                 max_connections=None,
                 retry_on_timeout=False,
                 *,
                 loop=None):
        if not connection_pool:
            kwargs = {
                'db': db,
                'password': password,
                'stream_timeout': stream_timeout,
                'connect_timeout': connect_timeout,
                'max_connections': max_connections,
                'retry_on_timeout': retry_on_timeout,
                'loop': loop
            }
            # based on input, setup appropriate connection args
            if unix_socket_path is not None:
                kwargs.update({
                    'path': unix_socket_path,
                    'connection_class': UnixDomainSocketConnection
                })
            else:
                # TCP specific options
                kwargs.update({'host': host, 'port': port})

                if ssl:
                    kwargs.update({
                        'ssl_keyfile': ssl_keyfile,
                        'ssl_certfile': ssl_certfile,
                        'ssl_cert_reqs': ssl_cert_reqs,
                        'ssl_ca_certs': ssl_ca_certs,
                    })
            connection_pool = ConnectionPool(**kwargs)
        self.connection_pool = connection_pool
        self._use_lua_lock = None

        self.response_callbacks = self.__class__.RESPONSE_CALLBACKS.copy()