fix:connection lost

This commit is contained in:
2025-11-06 10:05:07 +08:00
parent b577d5ad1b
commit 899b6fae93
5 changed files with 463 additions and 394 deletions
+5 -19
View File
@@ -7,31 +7,17 @@ import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
import dotenv from 'dotenv';
import mysql from 'mysql2/promise';
import managerRoutes from './managerRoutes.js';
import workerRoutes from './workerRoutes.js';
import { APP_TIMEZONE } from './config/db.js'
import { getConnection } from './pool.js'
async function startServer() {
dotenv.config({ path: path.join(path.dirname(fileURLToPath(import.meta.url)), '.env') });
const app = express();
const db = mysql.createPool({
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
port: process.env.DB_PORT,
waitForConnections: true,
connectionLimit: 10,
queueLimit: 0,
timezone: APP_TIMEZONE,
dateStrings: true
});
try {
const connection = await db.getConnection();
const connection = await getConnection();
console.log('Database connected successfully!');
connection.release();
} catch (error) {
@@ -56,7 +42,7 @@ async function startServer() {
},
credentials: true,
methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
allowedHeaders: ['Content-Type', 'Authorization', 'ngrok-skip-browser-warning'],
allowedHeaders: ['Content-Type', 'Authorization', 'ngrok-skip-browser-warning', 'X-User-Timezone'], //added X-User-Timezone for my development (Edison)
exposedHeaders: ['Content-Range', 'X-Content-Range'],
};
@@ -79,8 +65,8 @@ async function startServer() {
app.get('/time', timeHandler); // public path
app.get('/api/time', timeHandler); // also under /api
app.use('/api/managers', managerRoutes(db));
app.use('/api', workerRoutes(db));
app.use('/api/managers', managerRoutes());
app.use('/api', workerRoutes());
const httpPort = process.env.HTTP_PORT || 3000;
const httpsPort = process.env.HTTPS_PORT || 3443;