From a2f41fb6500321e4f4c7df5aa30c3e003c21d111 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20M=C3=B3ricz?= Date: Thu, 29 May 2025 20:08:52 +0200 Subject: [PATCH] feat(api/server): wait 60s for GCE load balancer drain timeout To minimize 502s. --- apps/api/src/index.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/api/src/index.ts b/apps/api/src/index.ts index 933a980f..05fe005e 100644 --- a/apps/api/src/index.ts +++ b/apps/api/src/index.ts @@ -95,8 +95,13 @@ function startServer(port = DEFAULT_PORT) { logger.info(`Worker ${process.pid} listening on port ${port}`); }); - const exitHandler = () => { + const exitHandler = async () => { logger.info("SIGTERM signal received: closing HTTP server"); + if (process.env.IS_KUBERNETES === "true") { + // Account for GCE load balancer drain timeout + logger.info("Waiting 60s for GCE load balancer drain timeout"); + await new Promise((resolve) => setTimeout(resolve, 60000)); + } server.close(() => { logger.info("Server closed."); process.exit(0);