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.
This commit is contained in:
Torsten Schulz (local)
2026-01-23 13:28:31 +01:00
parent 13f5660fee
commit 1c442eb195

View File

@@ -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/
]
}
});