45 lines
1.3 KiB
JavaScript
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);
|
|
}); |