mirror of
https://github.com/xtr-dev/rondevu-server.git
synced 2025-12-10 19:03: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
|
||||
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