From 44c13f9fa3643cde01207cc4ff31ca45e2482f28 Mon Sep 17 00:00:00 2001 From: Ricardo Pedroso Date: Mon, 13 May 2013 21:29:37 +0100 Subject: [PATCH 1/3] fix missing variable --- gluon/contrib/redis_session.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gluon/contrib/redis_session.py b/gluon/contrib/redis_session.py index ca7a1c6a..6e15b0ba 100644 --- a/gluon/contrib/redis_session.py +++ b/gluon/contrib/redis_session.py @@ -186,7 +186,8 @@ class MockQuery(object): def update(self, **kwargs): #means that the session has been found and needs an update if self.op == 'eq' and self.field == 'id' and self.value: - rtn = self.db.hmset("%s:%s" % (self.keyprefix, self.value), kwargs) + key = "%s:%s" % (self.keyprefix, self.value) + rtn = self.db.hmset(key, kwargs) if self.session_expiry: self.db.expire(key, self.session.expiry) return rtn From c20c0557889e4955edef36752071bc7b5e23c475 Mon Sep 17 00:00:00 2001 From: Ricardo Pedroso Date: Mon, 13 May 2013 21:31:06 +0100 Subject: [PATCH 2/3] typo: self.session.expiry -> self.session_expiry --- gluon/contrib/redis_session.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gluon/contrib/redis_session.py b/gluon/contrib/redis_session.py index 6e15b0ba..8322331c 100644 --- a/gluon/contrib/redis_session.py +++ b/gluon/contrib/redis_session.py @@ -189,7 +189,7 @@ class MockQuery(object): key = "%s:%s" % (self.keyprefix, self.value) rtn = self.db.hmset(key, kwargs) if self.session_expiry: - self.db.expire(key, self.session.expiry) + self.db.expire(key, self.session_expiry) return rtn From 4c1dbf4e4084e851fb8523fad9c36d419f469db1 Mon Sep 17 00:00:00 2001 From: Ricardo Pedroso Date: Mon, 13 May 2013 21:59:04 +0100 Subject: [PATCH 3/3] one redis instance per application --- gluon/contrib/redis_session.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gluon/contrib/redis_session.py b/gluon/contrib/redis_session.py index 8322331c..cadd2db1 100644 --- a/gluon/contrib/redis_session.py +++ b/gluon/contrib/redis_session.py @@ -29,11 +29,12 @@ def RedisSession(*args, **vars): locker.acquire() try: - if not hasattr(RedisSession, 'redis_instance'): - RedisSession.redis_instance = RedisClient(*args, **vars) + instance_name = 'redis_instance_' + current.request.application + if not hasattr(RedisSession, instance_name): + setattr(RedisSession, instance_name, RedisClient(*args, **vars)) + return getattr(RedisSession, instance_name) finally: locker.release() - return RedisSession.redis_instance class RedisClient(object):