From: Patrick Uiterwijk Date: Fri, 4 Sep 2015 16:13:39 +0000 (+0200) Subject: Implement cleanup for sessions X-Git-Tag: v1.1.0~7 X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fipsilon.git;a=commitdiff_plain;h=24fa1f2acd9cb84342064ec59b311968353fd0ae Implement cleanup for sessions Signed-off-by: Patrick Uiterwijk Reviewed-by: Rob Crittenden --- 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):