require('dotenv').config(); const express = require('express'); const cors = require('cors'); const path = require('path'); const fs = require('fs'); const { testConnection } = require('./config/db'); const apiRoutes = require('./routes/router'); // 导入cleanFile.js中的函数 // const cleanFile = require('./utils/cleanFile'); const config = { Port: process.env.PORT || 3000, }; // Create Express application const app = express(); // Middleware configuration app.use(cors()); app.use(express.json()); app.use(express.static(__dirname)); // Routes app.use('/api', apiRoutes); // Start scheduled cleanup // setInterval(() => cleanFile.cleanExpiredJobDirs(7 * 24 * 3600000), 7 * 24 * 3600000); // // Clean up can be performed immediately upon server startup // cleanFile.cleanExpiredJobDirs(7 * 24 * 3600000).catch(err => // console.error('Initial cleanup failed:', err) // ); // Start Server app.listen(config.Port, async () => { console.log(`The server is running on: http://amiap.hzau.edu.cn:${config.Port}`); await testConnection(); }); // Shutdown process.on('SIGINT', async () => { console.log('\nThe server is being shut down...'); // Closing database pool connections is usually handled by the db module, or by referencing pool. end() here process.exit(0); });