mirror of
https://github.com/xtr-dev/rondevu-server.git
synced 2025-12-10 10:53:24 +00:00
Add scheduled handler for cron-based session cleanup
- Implements scheduled() function to handle cron triggers - Cleans up expired sessions every 5 minutes - Fixes 'Handler does not export a scheduled() function' error - Deletes sessions where expires_at < current timestamp
This commit is contained in:
@@ -36,4 +36,25 @@ export default {
|
|||||||
// Handle request
|
// Handle request
|
||||||
return app.fetch(request, env, ctx);
|
return app.fetch(request, env, ctx);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scheduled handler for cron triggers
|
||||||
|
* Runs every 5 minutes to clean up expired sessions
|
||||||
|
*/
|
||||||
|
async scheduled(event: ScheduledEvent, env: Env, ctx: ExecutionContext): Promise<void> {
|
||||||
|
const storage = new D1Storage(env.DB);
|
||||||
|
const now = Date.now();
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Delete expired sessions
|
||||||
|
await storage.db
|
||||||
|
.prepare('DELETE FROM sessions WHERE expires_at < ?')
|
||||||
|
.bind(now)
|
||||||
|
.run();
|
||||||
|
|
||||||
|
console.log(`Cleaned up expired sessions at ${new Date(now).toISOString()}`);
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error cleaning up sessions:', error);
|
||||||
|
}
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user