From a194d8594be85a424a42328f8b5845db294aa682 Mon Sep 17 00:00:00 2001 From: waruneeauy Date: Wed, 28 Jan 2026 16:59:09 +0700 Subject: [PATCH] fix: connection pool settings --- src/database/data-source.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/database/data-source.ts b/src/database/data-source.ts index db5afc0d..e44252a1 100644 --- a/src/database/data-source.ts +++ b/src/database/data-source.ts @@ -47,8 +47,8 @@ export const AppDataSource = new DataSource({ logging: true, // timezone: "Z", entities: - process.env.NODE_ENV !== "production" - ? ["src/entities/**/*.ts"] + process.env.NODE_ENV !== "production" + ? ["src/entities/**/*.ts"] : ["dist/entities/**/*{.ts,.js}"], migrations: process.env.NODE_ENV !== "production" @@ -56,6 +56,16 @@ export const AppDataSource = new DataSource({ : ["dist/migration/**/*{.ts,.js}"], subscribers: [], logger: new MyCustomLogger(), + // Connection pool settings to prevent connection exhaustion + extra: { + connectionLimit: +(process.env.DB_CONNECTION_LIMIT || 50), + maxIdle: +(process.env.DB_MAX_IDLE || 10), + idleTimeout: +(process.env.DB_IDLE_TIMEOUT || 60000), + timezone: "+07:00", // Bangkok timezone (UTC+7) + }, + // TypeORM pool settings + poolSize: +(process.env.DB_POOL_SIZE || 10), + maxQueryExecutionTime: +(process.env.DB_MAX_QUERY_TIME || 3000), }); // export default database;