Skip to content

Commit a0cc055

Browse files
authored
Merge pull request #36 from splitio/stricredis-parameters
Adding StrictRedis parameters
2 parents 1eae95b + 97b3bf7 commit a0cc055

File tree

2 files changed

+49
-3
lines changed

2 files changed

+49
-3
lines changed

splitio/config.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,25 @@
3232
'redisHost': 'localhost',
3333
'redisPort': 6379,
3434
'redisDb': 0,
35-
'redisPassword': None
35+
'redisPassword': None,
36+
'redisSocketTimeout': None,
37+
'redisSocketConnectTimeout': None,
38+
'redisSocketKeepalive': None,
39+
'redisSocketKeepaliveOptions': None,
40+
'redisConnectionPool': None,
41+
'redisUnixSocketPath': None,
42+
'redisEncoding': 'utf-8',
43+
'redisEncodingErrors': 'strict',
44+
'redisCharset': None,
45+
'redisErrors': None,
46+
'redisDecodeResponses': False,
47+
'redisRetryOnTimeout': False,
48+
'redisSsl': False,
49+
'redisSslKeyfile': None,
50+
'redisSslCertfile': None,
51+
'redisSslCertReqs': None,
52+
'redisSslCaCerts': None,
53+
'redisMaxConnections': None
3654
}
3755

3856
MAX_INTERVAL = 180

splitio/redis_support.py

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -710,7 +710,7 @@ def get_redis(config):
710710
:return: A redis client
711711
"""
712712
if 'redisFactory' in config:
713-
redis_factory = import_from_string(config['redisFactory'])
713+
redis_factory = import_from_string(config['redisFactory'],'redisFactory')
714714
return redis_factory()
715715

716716
return default_redis_factory(config)
@@ -727,5 +727,33 @@ def default_redis_factory(config):
727727
port = config.get('redisPort', 6379)
728728
db = config.get('redisDb', 0)
729729
password = config.get('redisPassword', None)
730-
redis = StrictRedis(host=host, port=port, db=db, password=password)
730+
socket_timeout = config.get('redisSocketTimeout', None)
731+
socket_connect_timeout = config.get('redisSocketConnectTimeout', None)
732+
socket_keepalive = config.get('redisSocketKeepalive', None)
733+
socket_keepalive_options = config.get('redisSocketKeepaliveOptions', None)
734+
connection_pool = config.get('redisConnectionPool', None)
735+
unix_socket_path = config.get('redisUnixSocketPath', None)
736+
encoding = config.get('redisEncoding', 'utf-8')
737+
encoding_errors = config.get('redisEncodingErrors', 'strict')
738+
charset = config.get('redisCharset', None)
739+
errors = config.get('redisErrors', None)
740+
decode_responses = config.get('redisDecodeResponses', False)
741+
retry_on_timeout = config.get('redisRetryOnTimeout', False)
742+
ssl = config.get('redisSsl', False)
743+
ssl_keyfile = config.get('redisSslKeyfile', None)
744+
ssl_certfile = config.get('redisSslCertfile', None)
745+
ssl_cert_reqs = config.get('redisSslCertReqs', None)
746+
ssl_ca_certs = config.get('redisSslCaCerts', None)
747+
max_connections = config.get('redisMaxConnections', None)
748+
749+
redis = StrictRedis(host=host, port=port, db=db, password=password, socket_timeout=socket_timeout,
750+
socket_connect_timeout=socket_connect_timeout,
751+
socket_keepalive=socket_keepalive, socket_keepalive_options=socket_keepalive_options,
752+
connection_pool=connection_pool, unix_socket_path=unix_socket_path,
753+
encoding=encoding, encoding_errors=encoding_errors,
754+
charset=charset, errors=errors,
755+
decode_responses=decode_responses, retry_on_timeout=retry_on_timeout,
756+
ssl=ssl, ssl_keyfile=ssl_keyfile, ssl_certfile=ssl_certfile,
757+
ssl_cert_reqs=ssl_cert_reqs, ssl_ca_certs=ssl_ca_certs,
758+
max_connections=max_connections)
731759
return redis

0 commit comments

Comments
 (0)