From 1c442eb19528aad2a34e50ba420bf51966040080 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Fri, 23 Jan 2026 13:28:31 +0100 Subject: [PATCH] Update Sequelize configuration for improved connection management - Reduced connection pool size and adjusted timeout settings to prevent connection limits. - Added automatic reconnection handling for better resilience against connection losses. - Introduced retry logic for specific connection errors to enhance stability during database interactions. --- backend/utils/sequelize.js | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/backend/utils/sequelize.js b/backend/utils/sequelize.js index 0a21eea..8e0b227 100644 --- a/backend/utils/sequelize.js +++ b/backend/utils/sequelize.js @@ -48,14 +48,27 @@ const sequelize = new Sequelize(dbName, dbUser, dbPass, { benchmark: SQL_BENCHMARK, logging: sqlLogger, pool: { - max: 20, // Maximale Anzahl von Verbindungen im Pool - min: 5, // Minimale Anzahl von Verbindungen im Pool - acquire: 60000, // Maximale Zeit (ms) zum Erwerb einer Verbindung (60 Sekunden) + max: 5, // Maximale Anzahl von Verbindungen im Pool (reduziert, um Connection Limit zu vermeiden) + min: 1, // Minimale Anzahl von Verbindungen im Pool + acquire: 30000, // Maximale Zeit (ms) zum Erwerb einer Verbindung (30 Sekunden) idle: 10000, // Maximale Zeit (ms), die eine Verbindung idle sein kann, bevor sie entfernt wird - evict: 1000 // Intervall (ms) zum Prüfen auf idle Verbindungen + evict: 1000, // Intervall (ms) zum Prüfen auf idle Verbindungen + handleDisconnects: true // Automatisches Reconnect bei Verbindungsverlust }, dialectOptions: { - connectTimeout: 60000 // Timeout für Verbindungsaufbau (60 Sekunden) + connectTimeout: 30000 // Timeout für Verbindungsaufbau (30 Sekunden) + }, + retry: { + max: 3, // Maximale Anzahl von Wiederholungsversuchen + match: [ + /ConnectionError/, + /SequelizeConnectionError/, + /SequelizeConnectionRefusedError/, + /SequelizeHostNotFoundError/, + /SequelizeHostNotReachableError/, + /SequelizeInvalidConnectionError/, + /SequelizeConnectionTimedOutError/ + ] } });