feat(sql): full sql start stop and query with crash prevention

This commit is contained in:
2025-12-22 14:54:43 -06:00
parent 878c3b3638
commit 6bb27e588d
15 changed files with 468 additions and 30 deletions

View File

@@ -10,10 +10,6 @@ export let reconnecting = false;
export const connectProdSql = async () => {
const serverUp = await checkHostnamePort(`${process.env.PROD_SERVER}:1433`);
const log = createLogger({
module: "system",
subModule: "db",
});
if (!serverUp) {
// we will try to reconnect
connected = false;
@@ -41,9 +37,15 @@ export const connectProdSql = async () => {
try {
pool = await sql.connect(prodSqlConfig);
connected = true;
log.info(
`${prodSqlConfig.server} is connected to ${prodSqlConfig.database}`,
);
return returnFunc({
success: true,
level: "info",
module: "system",
subModule: "db",
message: `${prodSqlConfig.server} is connected to ${prodSqlConfig.database}`,
data: [],
notify: false,
});
} catch (error) {
return returnFunc({
success: false,
@@ -58,10 +60,6 @@ export const connectProdSql = async () => {
};
export const closePool = async () => {
const log = createLogger({
module: "system",
subModule: "db",
});
if (!connected) {
return returnFunc({
success: false,
@@ -74,15 +72,25 @@ export const closePool = async () => {
try {
await pool.close();
log.info("Connection pool closed");
connected = false;
return {
return returnFunc({
success: true,
message: "The sql server connection has been closed",
};
level: "info",
module: "system",
subModule: "db",
message: "The sql connection has been closed.",
});
} catch (error) {
connected = false;
console.log("There was an error closing the sql connection", error);
return returnFunc({
success: false,
level: "error",
module: "system",
subModule: "db",
message: "There was an error closing the sql connection",
data: [error],
});
}
};
export const reconnectToSql = async () => {