diff -rup Beaker-1.9.1-orig/beaker/ext/redisnm.py Beaker-1.9.1/beaker/ext/redisnm.py --- Beaker-1.9.1-orig/beaker/ext/redisnm.py 2018-04-10 10:23:04.000000000 +0200 +++ Beaker-1.9.1/beaker/ext/redisnm.py 2018-04-10 10:23:34.000000000 +0200 @@ -30,9 +30,10 @@ class RedisNamespaceManager(NamespaceManager): clients = SyncDict() - def __init__(self, namespace, url, **kw): + def __init__(self, namespace, url, timeout=None, **kw): super(RedisNamespaceManager, self).__init__(namespace) self.lock_dir = None # Redis uses redis itself for locking. + self.timeout = timeout if redis is None: raise RuntimeError('redis is not available') @@ -68,6 +69,8 @@ def has_key(self, key): def set_value(self, key, value, expiretime=None): value = pickle.dumps(value) + if expiretime is None and self.timeout is not None: + expiretime = self.timeout if expiretime is not None: self.client.setex(self._format_key(key), int(expiretime), value) else: