From 24fa1f2acd9cb84342064ec59b311968353fd0ae Mon Sep 17 00:00:00 2001 From: Patrick Uiterwijk Date: Fri, 4 Sep 2015 18:13:39 +0200 Subject: [PATCH] Implement cleanup for sessions Signed-off-by: Patrick Uiterwijk Reviewed-by: Rob Crittenden --- ipsilon/util/sessions.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ipsilon/util/sessions.py b/ipsilon/util/sessions.py index 86113a1..5a9854b 100644 --- a/ipsilon/util/sessions.py +++ b/ipsilon/util/sessions.py @@ -4,6 +4,7 @@ import base64 from cherrypy.lib.sessions import Session from ipsilon.util.data import Store, SqlQuery import threading +import datetime try: import cPickle as pickle except ImportError: @@ -36,6 +37,14 @@ class SessionStore(Store): else: raise NotImplementedError() + def _cleanup(self): + # pylint: disable=protected-access + table = SqlQuery(self._db, 'sessions', SESSION_TABLE)._table + # pylint: disable=no-value-for-parameter + d = table.delete().where(table.c.expiration_time + <= datetime.datetime.now()) + return d.execute().rowcount + class SqlSession(Session): -- 2.20.1