From a19933a06e280a62fb8038c9c1aa4a33bc10be69 Mon Sep 17 00:00:00 2001 From: faisolavolut Date: Tue, 11 Nov 2025 14:09:38 +0700 Subject: [PATCH] fix: increase idle timeout for database connection pools to 1 hour --- src/controllers/syncController.ts | 9 ++++++++- src/lib/dbPools.ts | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/controllers/syncController.ts b/src/controllers/syncController.ts index c6cc087..ba70772 100644 --- a/src/controllers/syncController.ts +++ b/src/controllers/syncController.ts @@ -96,7 +96,14 @@ export default class SyncController { for (const database of databases) { const pool = await getPoolForDbId(database.db_id); const q = "SELECT * FROM rv_openitem"; - const result = await pool.query(q); + // Set timeout to 1 hour for sync operations + const client = await pool.connect(); + let result; + try { + result = await client.query(q); + } finally { + client.release(); + } const rows = result.rows || []; const freshDB = await db.rv_openitem.count({ where: { db_id: database.db_id }, diff --git a/src/lib/dbPools.ts b/src/lib/dbPools.ts index b0100b1..7123992 100644 --- a/src/lib/dbPools.ts +++ b/src/lib/dbPools.ts @@ -56,7 +56,7 @@ export async function getPoolForDbId(db_id: string) { const pool = new Pool({ connectionString: connString, max: 10, - idleTimeoutMillis: 30000, + idleTimeoutMillis: 3600000, }); return pool; }