import mysql from "mysql2/promise"; let cachedPool; let connectionCount = 0; function getPool() { if (!cachedPool) { cachedPool = 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, connectionLimit: 20, waitForConnections: true, queueLimit: 10, connectTimeout: 5000, idleTimeout: 60000, }); // Ereignisse für das Protokollieren der Verbindungsstatistiken let maxUsed = 0; cachedPool.on("acquire", () => { connectionCount++; // Debug-Logging entfernt if (connectionCount > maxUsed) { maxUsed = connectionCount; } }); cachedPool.on("release", () => { connectionCount--; }); cachedPool.on("enqueue", () => { // Debug-Logging entfernt }); } return cachedPool; } export function closePool() { if (cachedPool) { cachedPool.end(() => { console.log("All pool connections closed."); }); cachedPool = null; } } export default getPool;