feat: add cleanup for expired sessions on server start and during queue evaluation

This commit is contained in:
2025-09-19 19:45:58 +02:00
parent e44a7672d5
commit cb2f5732eb

View File

@@ -102,6 +102,7 @@ async function evaluateQueue(eventId, io) {
// Clean up expired sessions from database // Clean up expired sessions from database
if (expiredSessions.length > 0) { if (expiredSessions.length > 0) {
console.log(`Cleaning up ${expiredSessions.length} expired sessions for event ${eventId}`);
await connection.execute( await connection.execute(
'DELETE FROM active_sessions WHERE event_id = ? AND expires_at < NOW()', 'DELETE FROM active_sessions WHERE event_id = ? AND expires_at < NOW()',
[eventId] [eventId]
@@ -163,6 +164,18 @@ export async function GET(req) {
global.io = io global.io = io
// Clean up all expired sessions on server start
const connection = await getDbConnection()
if (connection) {
try {
const [result] = await connection.execute('DELETE FROM active_sessions WHERE expires_at < NOW()')
console.log(`Server startup: Cleaned ${result.affectedRows} expired sessions`)
await connection.end()
} catch (error) {
console.error('Cleanup error on startup:', error)
}
}
// Periodikus token ellenőrzés minden 5 másodpercben // Periodikus token ellenőrzés minden 5 másodpercben
setInterval(async () => { setInterval(async () => {
for (const eventId of Object.keys(events)) { for (const eventId of Object.keys(events)) {