datasquirel/package-shared/utils/test-db-connection.ts
Benjamin Toby c37d105dee Updates
2025-07-09 20:30:45 +01:00

44 lines
1.1 KiB
TypeScript

import dbHandler from "../functions/backend/dbHandler";
let testDbConnRetries = 0;
const MAX_TEST_DB_CONN_RETRIES = 10;
const SLEEP_TIME = 2000;
type Params = {
maxRetries?: number;
sleepTime?: number;
};
export default async function testDbConnection(params?: Params) {
console.log("Testing Database Connection ...", testDbConnRetries);
while (true) {
testDbConnRetries++;
try {
const res = (await dbHandler({ query: `SHOW DATABASES` })) as
| any[]
| null;
if (res?.[0]) {
console.log("Database Connection Complete!");
break;
}
await Bun.sleep(params?.sleepTime || SLEEP_TIME);
if (
testDbConnRetries >
(params?.maxRetries || MAX_TEST_DB_CONN_RETRIES)
) {
console.log("Database Connection Failed!");
process.exit(1);
}
} catch (error) {
await Bun.sleep(params?.sleepTime || SLEEP_TIME);
}
}
return true;
}