From 0f828132acafdce70a80edfddce3f991080a90a7 Mon Sep 17 00:00:00 2001 From: Lasse Narula Date: Fri, 19 Dec 2025 14:02:50 +0100 Subject: [PATCH] Fix --- fly.toml | 3 ++- server.mjs | 21 ++++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/fly.toml b/fly.toml index 59fa6d15..3940159f 100644 --- a/fly.toml +++ b/fly.toml @@ -5,7 +5,8 @@ app = 'gata-app' primary_region = 'arn' -kill_timeout = 300 +kill_timeout = 60 +kill_signal = "SIGINT" [mounts] source = "data" diff --git a/server.mjs b/server.mjs index 7285a34b..6223f05d 100644 --- a/server.mjs +++ b/server.mjs @@ -7,10 +7,10 @@ const viteDevServer = process.env.NODE_ENV === "production" ? undefined : await import("vite").then((vite) => - vite.createServer({ - server: { middlewareMode: true }, - }) - ); + vite.createServer({ + server: { middlewareMode: true }, + }) + ); const remixHandler = createRequestHandler({ build: viteDevServer @@ -42,4 +42,15 @@ app.use(morgan("tiny")); // handle SSR requests app.all("*", remixHandler); -app.listen(3000, "0.0.0.0", () => console.log(`Express server listening at http://localhost:3000`)); +const server = app.listen(3000, "0.0.0.0", () => console.log(`Express server listening at http://localhost:3000`)); + +// Graceful shutdown for Fly.io rolling deployments +process.on('SIGINT', () => { + console.log('SIGINT received, closing server gracefully...'); + server.close(() => { + console.log('Server closed'); + process.exit(0); + }); + // Force close after 30s + setTimeout(() => process.exit(1), 30000); +});