generated from justuser-31/mrl_v1_license
27 lines
784 B
Python
27 lines
784 B
Python
import time
|
|
from datetime import datetime
|
|
|
|
import database
|
|
from config import load_config
|
|
|
|
global CONFIG
|
|
CONFIG = load_config()
|
|
|
|
|
|
def session_cleanup():
|
|
while True:
|
|
time.sleep(60) # Check every minute
|
|
now = datetime.now()
|
|
session_timeout = CONFIG["server"]["session_timeout"]
|
|
cursor = database.DB_CONN.cursor()
|
|
cursor.execute("SELECT session_id, last_access FROM sessions")
|
|
rows = cursor.fetchall()
|
|
for session_id, last_access in rows:
|
|
if (
|
|
now - datetime.fromisoformat(last_access)
|
|
).total_seconds() > session_timeout:
|
|
cursor.execute(
|
|
"DELETE FROM sessions WHERE session_id = ?", (session_id,)
|
|
)
|
|
database.DB_CONN.commit()
|