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; }