From a1a2e9363fc7137980ba37a2e80889539a50cd4a Mon Sep 17 00:00:00 2001 From: nymkappa Date: Thu, 20 Jan 2022 23:07:20 +0900 Subject: [PATCH] Make sure to release all db connections --- backend/src/api/pools-parser.ts | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/backend/src/api/pools-parser.ts b/backend/src/api/pools-parser.ts index bb7779089..2b0901551 100644 --- a/backend/src/api/pools-parser.ts +++ b/backend/src/api/pools-parser.ts @@ -67,7 +67,14 @@ class PoolsParser { // Get existing pools from the db const connection = await DB.pool.getConnection(); - const [existingPools] = await connection.query({ sql: 'SELECT * FROM pools;', timeout: 120000 }); + let existingPools: any[] = []; + try { + existingPools = await connection.query({ sql: 'SELECT * FROM pools;', timeout: 120000 }); + } catch (e) { + logger.err('Unable to get existing pools from the database, skipping pools.json import'); + connection.release(); + return; + } // Finally, we generate the final consolidated pools data const finalPoolDataAdd: Pool[] = []; @@ -117,11 +124,11 @@ class PoolsParser { const updateQueries: string[] = []; for (let i = 0; i < finalPoolDataUpdate.length; ++i) { updateQueries.push(` - UPDATE pools - SET name='${finalPoolDataUpdate[i].name}', link='${finalPoolDataUpdate[i].link}', - regexes='${JSON.stringify(finalPoolDataUpdate[i].regexes)}', addresses='${JSON.stringify(finalPoolDataUpdate[i].addresses)}' - WHERE name='${finalPoolDataUpdate[i].name}' - ;`); + UPDATE pools + SET name='${finalPoolDataUpdate[i].name}', link='${finalPoolDataUpdate[i].link}', + regexes='${JSON.stringify(finalPoolDataUpdate[i].regexes)}', addresses='${JSON.stringify(finalPoolDataUpdate[i].addresses)}' + WHERE name='${finalPoolDataUpdate[i].name}' + ;`); } try { @@ -158,6 +165,8 @@ class PoolsParser { } catch (e) { logger.err('Unable to insert "Unknown" mining pool'); } + + connection.release(); } }