diff options
| author | Christophe Simonis <chs@openerp.com> | 2010-11-09 17:57:39 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@openerp.com> | 2010-11-09 17:57:39 +0100 |
| commit | ad4f3dfc0b4a23088bdfec7b1e2d458f86993fb7 (patch) | |
| tree | 307a7e0f565b67984fcaff4697e285cdddaff8cf /bin/tools/misc.py | |
| parent | fc158668b7e2997dc32def84b0472d36573fc262 (diff) | |
[IMP] tools.cache now use a LRU to avoid memory overload
bzr revid: chs@openerp.com-20101109165739-1pm8jhckcyzkb2z1
Diffstat (limited to 'bin/tools/misc.py')
| -rw-r--r-- | bin/tools/misc.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/bin/tools/misc.py b/bin/tools/misc.py index 6d3aba7b561..90b4c135214 100644 --- a/bin/tools/misc.py +++ b/bin/tools/misc.py @@ -50,6 +50,7 @@ else: import netsvc from config import config +from lru import LRU _logger = logging.getLogger('tools') @@ -696,7 +697,7 @@ class cache(object): __caches = [] - def __init__(self, timeout=None, skiparg=2, multi=None): + def __init__(self, timeout=None, skiparg=2, multi=None, size=8192): assert skiparg >= 2 # at least self and cr if timeout is None: self.timeout = config['cache_timeout'] @@ -705,7 +706,7 @@ class cache(object): self.skiparg = skiparg self.multi = multi self.lasttime = time.time() - self.cache = {} + self.cache = LRU(size) # TODO take size from config self.fun = None cache.__caches.append(self) |
