Make internal in-memory cache for package manager to be instance related

This commit is contained in:
Ivan Kravets
2019-06-07 15:01:27 +03:00
parent 686d615639
commit d9010230a4

View File

@@ -138,19 +138,16 @@ class PkgInstallerMixin(object):
FILE_CACHE_VALID = None # for example, 1 week = "7d" FILE_CACHE_VALID = None # for example, 1 week = "7d"
FILE_CACHE_MAX_SIZE = 1024 * 1024 * 50 # 50 Mb FILE_CACHE_MAX_SIZE = 1024 * 1024 * 50 # 50 Mb
MEMORY_CACHE = {} MEMORY_CACHE = {} # cache for package manifests and read dirs
@staticmethod def cache_get(self, key, default=None):
def cache_get(key, default=None): return self.MEMORY_CACHE.get(key, default)
return PkgInstallerMixin.MEMORY_CACHE.get(key, default)
@staticmethod def cache_set(self, key, value):
def cache_set(key, value): self.MEMORY_CACHE[key] = value
PkgInstallerMixin.MEMORY_CACHE[key] = value
@staticmethod def cache_reset(self):
def cache_reset(): self.MEMORY_CACHE.clear()
PkgInstallerMixin.MEMORY_CACHE = {}
def read_dirs(self, src_dir): def read_dirs(self, src_dir):
cache_key = "read_dirs-%s" % src_dir cache_key = "read_dirs-%s" % src_dir