mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Better fix for serializing/deserializing cache plugins (v2)
This commit is contained in:
parent
cd6d1f9221
commit
0f1eb3cfc2
4 changed files with 17 additions and 9 deletions
3
lib/ansible/plugins/cache/base.py
vendored
3
lib/ansible/plugins/cache/base.py
vendored
|
@ -26,9 +26,6 @@ from six import add_metaclass
|
||||||
@add_metaclass(ABCMeta)
|
@add_metaclass(ABCMeta)
|
||||||
class BaseCacheModule:
|
class BaseCacheModule:
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
self.__getstate__ = self.copy
|
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def get(self, key):
|
def get(self, key):
|
||||||
pass
|
pass
|
||||||
|
|
8
lib/ansible/plugins/cache/memcached.py
vendored
8
lib/ansible/plugins/cache/memcached.py
vendored
|
@ -113,8 +113,6 @@ class CacheModuleKeys(collections.MutableSet):
|
||||||
self._cache = cache
|
self._cache = cache
|
||||||
self._keyset = dict(*args, **kwargs)
|
self._keyset = dict(*args, **kwargs)
|
||||||
|
|
||||||
super(CacheModule, self).__init__()
|
|
||||||
|
|
||||||
def __contains__(self, key):
|
def __contains__(self, key):
|
||||||
return key in self._keyset
|
return key in self._keyset
|
||||||
|
|
||||||
|
@ -193,3 +191,9 @@ class CacheModule(BaseCacheModule):
|
||||||
|
|
||||||
def copy(self):
|
def copy(self):
|
||||||
return self._keys.copy()
|
return self._keys.copy()
|
||||||
|
|
||||||
|
def __getstate__(self):
|
||||||
|
return dict()
|
||||||
|
|
||||||
|
def __setstate__(self, data):
|
||||||
|
self.__init__()
|
||||||
|
|
8
lib/ansible/plugins/cache/memory.py
vendored
8
lib/ansible/plugins/cache/memory.py
vendored
|
@ -24,8 +24,6 @@ class CacheModule(BaseCacheModule):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
self._cache = {}
|
self._cache = {}
|
||||||
|
|
||||||
super(CacheModule, self).__init__()
|
|
||||||
|
|
||||||
def get(self, key):
|
def get(self, key):
|
||||||
return self._cache.get(key)
|
return self._cache.get(key)
|
||||||
|
|
||||||
|
@ -46,3 +44,9 @@ class CacheModule(BaseCacheModule):
|
||||||
|
|
||||||
def copy(self):
|
def copy(self):
|
||||||
return self._cache.copy()
|
return self._cache.copy()
|
||||||
|
|
||||||
|
def __getstate__(self):
|
||||||
|
return self.copy()
|
||||||
|
|
||||||
|
def __setstate__(self, data):
|
||||||
|
self._cache = data
|
||||||
|
|
7
lib/ansible/plugins/cache/redis.py
vendored
7
lib/ansible/plugins/cache/redis.py
vendored
|
@ -51,8 +51,6 @@ class CacheModule(BaseCacheModule):
|
||||||
self._cache = StrictRedis(*connection)
|
self._cache = StrictRedis(*connection)
|
||||||
self._keys_set = 'ansible_cache_keys'
|
self._keys_set = 'ansible_cache_keys'
|
||||||
|
|
||||||
super(CacheModule, self).__init__()
|
|
||||||
|
|
||||||
def _make_key(self, key):
|
def _make_key(self, key):
|
||||||
return self._prefix + key
|
return self._prefix + key
|
||||||
|
|
||||||
|
@ -103,3 +101,8 @@ class CacheModule(BaseCacheModule):
|
||||||
ret[key] = self.get(key)
|
ret[key] = self.get(key)
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
def __getstate__(self):
|
||||||
|
return dict()
|
||||||
|
|
||||||
|
def __setstate__(self, data):
|
||||||
|
self.__init__()
|
||||||
|
|
Loading…
Reference in a new issue