From 46f89627429d25bedebfa39abc37e60c92b4b7a2 Mon Sep 17 00:00:00 2001 From: ajdj100 Date: Fri, 22 May 2026 09:17:51 -0400 Subject: [PATCH] Fixed backfill script timing out before DB connection --- api/scripts/backfillQualifications.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/api/scripts/backfillQualifications.js b/api/scripts/backfillQualifications.js index f781876..c9dc0a5 100644 --- a/api/scripts/backfillQualifications.js +++ b/api/scripts/backfillQualifications.js @@ -10,8 +10,23 @@ const { DB_USERNAME, DB_PASSWORD, DB_DATABASE, + DB_CONNECT_TIMEOUT_MS, + DB_SOCKET_TIMEOUT_MS, } = process.env; +function parseTimeout(value, fallback) { + if (value === undefined || value === null || value === "") { + return fallback; + } + + const parsed = Number(value); + if (!Number.isFinite(parsed) || parsed <= 0) { + throw new Error(`Invalid timeout value: ${value}`); + } + + return parsed; +} + function parseArgs(argv) { const args = { dryRun: false, @@ -95,6 +110,8 @@ function key(memberId, courseId) { password: DB_PASSWORD, database: DB_DATABASE, multipleStatements: false, + connectTimeout: parseTimeout(DB_CONNECT_TIMEOUT_MS, 10000), + socketTimeout: parseTimeout(DB_SOCKET_TIMEOUT_MS, 60000), }); try {