()
| 136 | |
| 137 | // 启动定期清理过期会话的任务 |
| 138 | async function startSessionCleanupTask() { |
| 139 | const database = require('./database/database'); |
| 140 | |
| 141 | // 立即清理一次 |
| 142 | try { |
| 143 | await database.cleanExpiredSessions(); |
| 144 | } catch (error) { |
| 145 | logger.error('清理过期会话失败:', error); |
| 146 | } |
| 147 | |
| 148 | // 每小时清理一次过期会话 |
| 149 | setInterval(async () => { |
| 150 | try { |
| 151 | await database.cleanExpiredSessions(); |
| 152 | } catch (error) { |
| 153 | logger.error('定期清理过期会话失败:', error); |
| 154 | } |
| 155 | }, 60 * 60 * 1000); // 1小时 |
| 156 | } |
| 157 | |
| 158 | // 监听进程退出事件,确保数据库连接正确关闭 |
| 159 | process.on('SIGINT', async () => { |
no test coverage detected