Files
labweb/server.js
2025-12-16 11:39:15 +08:00

45 lines
1.3 KiB
JavaScript

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);
});