Files
Beacon/scripts/wait-for-database.js
Uklonil 3aeaed0af2
CI / quality (push) Waiting to run
UPD: initial architecture
2026-07-27 10:23:50 +02:00

23 lines
670 B
JavaScript

const postgres = require("postgres");
const databaseUrl = process.env.DATABASE_URL;
if (!databaseUrl) throw new Error("DATABASE_URL is required.");
const client = postgres(databaseUrl, { max: 1 });
(async () => {
for (let attempt = 1; attempt <= 30; attempt += 1) {
try {
await client`select 1`;
await client.end();
return;
} catch {
if (attempt === 30) {
await client.end();
throw new Error("Database was not reachable after 30 attempts.");
}
await new Promise((resolve) => setTimeout(resolve, 1000));
}
}
})().catch((error) => {
console.error("Database wait failed", error);
process.exit(1);
});