send messages to telegram from RQCP (ReadQrcodeChatPage) with link to MQCP (ManageQrcodeChatPage)
Deploy app frontend / app frontend (push) Successful in 2m43s
Deploy db-migrations / db-migrations (push) Successful in 1m8s
Deploy service message-delivery-method-web-push / service message-delivery-method-web-push (push) Successful in 1m30s
Deploy service tg-bot / service tg-bot (push) Failing after 1m54s

This commit is contained in:
2024-12-14 23:58:29 +02:00
parent 90fe585ff8
commit d71b405277
22 changed files with 396 additions and 127 deletions
@@ -6,7 +6,7 @@ import http from "http";
* @param defaultPort - Порт для сервера по умолчанию (если не указан в ENV HEALTH_PORT).
* @param defaultHostName - Имя хоста для сервера по умолчанию (если не указан в ENV HEALTH_HOST).
*/
export function startHealthServer(
export function createHealthServer(
controller: AbortController,
defaultPort: number = 8000,
defaultHostName: string = "127.0.0.1",
@@ -43,20 +43,45 @@ export function startHealthServer(
}
});
return new Promise<void>((resolve, reject) => {
server.once("error", reject);
server.listen(port, hostname, () => {
resolve();
console.log(
`Healthcheck server running on http://${hostname}:${port}/health`,
);
});
server?.unref?.();
// Закрываем сервер при активации AbortController
controller.signal.addEventListener("abort", () => {
console.log("Healthcheck server shutting down due to abort signal.");
reject();
server.close();
const stop = () => {
return new Promise<void>((resolve, reject) => {
server.close((error) => {
if (error) reject(error);
else resolve();
});
});
});
};
const start = () => {
return new Promise<void>((resolve, reject) => {
server.once("error", reject);
server.listen(port, hostname, () => {
resolve();
console.log(
`Healthcheck server running on http://${hostname}:${port}/health`,
);
});
// Закрываем сервер при активации AbortController
controller.signal.addEventListener("abort", () => {
console.log("Healthcheck server shutting down due to abort signal.");
stop().then(reject, reject);
});
});
};
return {
start,
stop,
};
}
export const startHealthServer = (
controller: AbortController,
defaultPort: number = 8000,
defaultHostName: string = "127.0.0.1",
) => {
return createHealthServer(controller, defaultPort, defaultHostName).start();
};