Merge "Add arguments for MemcacheClientPool init"
This commit is contained in:
commit
715d2789ac
@ -88,11 +88,12 @@ class _CachePool(list):
|
|||||||
class _MemcacheClientPool(object):
|
class _MemcacheClientPool(object):
|
||||||
"""An advanced memcached client pool that is eventlet safe."""
|
"""An advanced memcached client pool that is eventlet safe."""
|
||||||
|
|
||||||
def __init__(self, memcache_servers, **kwargs):
|
def __init__(self, memcache_servers, arguments, **kwargs):
|
||||||
# NOTE(sileht): This will import python-memcached, we don't want
|
# NOTE(sileht): This will import python-memcached, we don't want
|
||||||
# it as hard dependency, so lazy load it.
|
# it as hard dependency, so lazy load it.
|
||||||
from oslo_cache import _memcache_pool
|
from oslo_cache import _memcache_pool
|
||||||
self._pool = _memcache_pool.MemcacheClientPool(memcache_servers,
|
self._pool = _memcache_pool.MemcacheClientPool(memcache_servers,
|
||||||
|
arguments,
|
||||||
**kwargs)
|
**kwargs)
|
||||||
|
|
||||||
@contextlib.contextmanager
|
@contextlib.contextmanager
|
||||||
@ -120,12 +121,17 @@ class TokenCache(object):
|
|||||||
|
|
||||||
def __init__(self, log, cache_time=None,
|
def __init__(self, log, cache_time=None,
|
||||||
env_cache_name=None, memcached_servers=None,
|
env_cache_name=None, memcached_servers=None,
|
||||||
use_advanced_pool=False, **kwargs):
|
use_advanced_pool=False, dead_retry=None, socket_timeout=None,
|
||||||
|
**kwargs):
|
||||||
self._LOG = log
|
self._LOG = log
|
||||||
self._cache_time = cache_time
|
self._cache_time = cache_time
|
||||||
self._env_cache_name = env_cache_name
|
self._env_cache_name = env_cache_name
|
||||||
self._memcached_servers = memcached_servers
|
self._memcached_servers = memcached_servers
|
||||||
self._use_advanced_pool = use_advanced_pool
|
self._use_advanced_pool = use_advanced_pool
|
||||||
|
self._arguments = {
|
||||||
|
'dead_retry': dead_retry,
|
||||||
|
'socket_timeout': socket_timeout
|
||||||
|
}
|
||||||
self._memcache_pool_options = kwargs
|
self._memcache_pool_options = kwargs
|
||||||
|
|
||||||
self._cache_pool = None
|
self._cache_pool = None
|
||||||
@ -137,6 +143,7 @@ class TokenCache(object):
|
|||||||
|
|
||||||
elif self._use_advanced_pool and self._memcached_servers:
|
elif self._use_advanced_pool and self._memcached_servers:
|
||||||
return _MemcacheClientPool(self._memcached_servers,
|
return _MemcacheClientPool(self._memcached_servers,
|
||||||
|
self._arguments,
|
||||||
**self._memcache_pool_options)
|
**self._memcache_pool_options)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
@ -150,3 +150,12 @@ class TestLiveMemcache(base.BaseAuthTokenTestCase):
|
|||||||
token_cache.initialize({})
|
token_cache.initialize({})
|
||||||
token_cache.set(token, data)
|
token_cache.set(token, data)
|
||||||
self.assertEqual(token_cache.get(token), data)
|
self.assertEqual(token_cache.get(token), data)
|
||||||
|
|
||||||
|
def test_memcache_pool_init(self):
|
||||||
|
conf = {
|
||||||
|
'memcached_servers': ','.join(MEMCACHED_SERVERS),
|
||||||
|
'memcache_use_advanced_pool': True
|
||||||
|
}
|
||||||
|
|
||||||
|
token_cache = self.create_simple_middleware(conf=conf)._token_cache
|
||||||
|
token_cache.initialize({})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user