initial commit
This commit is contained in:
@@ -0,0 +1 @@
|
||||
10 * * * * root **applications/admin/cron/expire_sessions.py
|
||||
@@ -0,0 +1,21 @@
|
||||
EXPIRATION_MINUTES=60
|
||||
DIGITS=('0','1','2','3','4','5','6','7','8','9')
|
||||
import os, time, stat, cPickle, logging
|
||||
path=os.path.join(request.folder,'sessions')
|
||||
if not os.path.exists(path):
|
||||
os.mkdir(path)
|
||||
now=time.time()
|
||||
for filename in os.listdir(path):
|
||||
fullpath=os.path.join(path,filename)
|
||||
if os.path.isfile(fullpath) and filename.startswith(DIGITS):
|
||||
try:
|
||||
filetime = os.stat(fullpath)[stat.ST_MTIME] # get it before our io
|
||||
try:
|
||||
session_data = cPickle.load(open(fullpath, 'rb+'))
|
||||
expiration = session_data['auth']['expiration']
|
||||
except:
|
||||
expiration = EXPIRATION_MINUTES * 60
|
||||
if (now - filetime) > expiration:
|
||||
os.unlink(fullpath)
|
||||
except:
|
||||
logging.exception('failure to check %s'%fullpath)
|
||||
Reference in New Issue
Block a user