From d9fbfc07079f48c1e32dabcdb2aede355dfe468c Mon Sep 17 00:00:00 2001 From: GREENRAT-K405 Date: Sun, 15 Feb 2026 22:38:07 +0530 Subject: [PATCH] add lightweight daemon thread to periodically cleanup garbage --- server/Server.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/server/Server.py b/server/Server.py index 2e89d9f..68e6ea4 100644 --- a/server/Server.py +++ b/server/Server.py @@ -7,6 +7,8 @@ from flask import jsonify import shutil from filelock import FileLock +import threading +import time TRIMMED_LOGS = False @@ -25,6 +27,16 @@ SEPARATOR = "/" WORKDIR = "userfiles/" +CLEANUP_PERIOD=3600 +#lightweight daemon to clear abandoned sessions and lockfiles +def gc_sessions(): + while True: + time.sleep(CLEANUP_PERIOD) #run periodically + for directory in glob.glob(WORKDIR + "*"): + if os.path.isdir(directory) and time.time() - os.path.getmtime(directory) > CLEANUP_PERIOD: + shutil.rmtree(directory, ignore_errors=True) +threading.Thread(target=gc_sessions, daemon=True).start() + @app.route('/') def hello_world(): return render_template('home.html')