Commit 9156189f authored by Sean Bleier's avatar Sean Bleier

Adding SOCKET_CONNECT_TIMEOUT option.

parent fb26ad82
......@@ -21,7 +21,7 @@ clean:
.PHONY: test
test: install_requirements
PYTHONPATH=$(PYTHONPATH): django-admin.py test --settings=tests.settings -s
PYTHONPATH=$(PYTHONPATH): django-admin.py test tests.testapp.tests.socket_timeout_tests:SocketConnectTimeoutTestCase --settings=tests.settings -s
.PHONY: shell
shell:
......
......@@ -57,6 +57,7 @@ class BaseRedisCache(BaseCache):
self.parser_class = self.get_parser_class()
self.pickle_version = self.get_pickle_version()
self.socket_timeout = self.get_socket_timeout()
self.socket_connect_timeout = self.get_socket_connect_timeout()
self.connection_pool_class = self.get_connection_pool_class()
self.connection_pool_class_kwargs = (
self.get_connection_pool_class_kwargs()
......@@ -106,13 +107,21 @@ class BaseRedisCache(BaseCache):
try:
return int(_pickle_version)
except (ValueError, TypeError):
raise ImproperlyConfigured("pickle version value must be an integer")
raise ImproperlyConfigured(
"pickle version value must be an integer"
)
def get_socket_timeout(self):
return self.options.get('SOCKET_TIMEOUT', None)
def get_socket_connect_timeout(self):
return self.options.get('SOCKET_CONNECT_TIMEOUT', None)
def get_connection_pool_class(self):
pool_class = self.options.get('CONNECTION_POOL_CLASS', 'redis.ConnectionPool')
pool_class = self.options.get(
'CONNECTION_POOL_CLASS',
'redis.ConnectionPool'
)
return import_class(pool_class)
def get_connection_pool_class_kwargs(self):
......@@ -160,6 +169,7 @@ class BaseRedisCache(BaseCache):
db=self.db,
password=self.password,
socket_timeout=self.socket_timeout,
socket_connect_timeout=self.socket_connect_timeout,
)
client = redis.Redis(**kwargs)
kwargs.update(
......
......@@ -31,6 +31,7 @@ class CacheConnectionPool(object):
connection_pool_class=None,
connection_pool_class_kwargs=None,
socket_timeout=None,
socket_connect_timeout=None,
**kwargs
):
connection_identifier = (host, port, db, unix_socket_path)
......@@ -50,6 +51,7 @@ class CacheConnectionPool(object):
'connection_class': connection_class,
'parser_class': parser_class,
'socket_timeout': socket_timeout,
'socket_connect_timeout': socket_connect_timeout,
}
kwargs.update(connection_pool_class_kwargs)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment