From 6c9eb6fec9831fc09954b3060c98391e1007decc Mon Sep 17 00:00:00 2001 From: Yanis JEDRZEJCZAK Date: Tue, 14 May 2024 17:11:56 +0200 Subject: [PATCH] Adding Health Check for cloud providers --- src/entries/Cron.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/entries/Cron.ts b/src/entries/Cron.ts index 760eaa9c..2ceb39da 100644 --- a/src/entries/Cron.ts +++ b/src/entries/Cron.ts @@ -4,12 +4,23 @@ import "reflect-metadata"; import { Container } from "typedi"; import { BackendVariables } from "@Common/config/variables/Variables"; import CronService from "@Services/common/CronService/CronService"; +import http from "http"; (async () => { console.info("Cron started"); try { const variables = await Container.get(BackendVariables).validate(); + + /** + * Cloud providers needs a health check endpoint to know if the server is up otherwise they will stop the app + */ + http.createServer((_req, res) => { + res.writeHead(200, {'Content-Type': 'text/plain'}); + res.write('Health check: OK'); + res.end(); + }).listen(variables.APP_PORT); + Container.get(CronService).archiveFiles(); await Container.get(CronService).updateUsers(); Container.get(CronService).checkDocumentsExpiration(); @@ -17,6 +28,7 @@ import CronService from "@Services/common/CronService/CronService"; Container.get(CronService).sendMails(); Container.get(CronService).sendRecapMails(); } + } catch (e) { console.error(e); }