First implementation of questions management
This commit is contained in:
Vendored
+20
@@ -147,6 +147,26 @@ class BaseCache:
|
||||
|
||||
return nb_to_delete
|
||||
|
||||
def evict_by_key(self, predicate):
|
||||
"""
|
||||
Remove entries that matches the predicate
|
||||
:param predicate:
|
||||
:return:
|
||||
"""
|
||||
to_delete = []
|
||||
with self._lock:
|
||||
for key in self._cache:
|
||||
if predicate(key):
|
||||
to_delete.append(key)
|
||||
|
||||
for key in to_delete:
|
||||
del (self._cache[key])
|
||||
try:
|
||||
self._initialized_keys.remove(key)
|
||||
except KeyError:
|
||||
pass
|
||||
return len(to_delete)
|
||||
|
||||
def clear(self):
|
||||
with self._lock:
|
||||
self._cache.clear()
|
||||
|
||||
Reference in New Issue
Block a user