From acde6e1bbb54847365d8596f7ae142a71a9ed262 Mon Sep 17 00:00:00 2001 From: Corban-Lee Jones Date: Wed, 30 Apr 2025 23:57:05 +0100 Subject: [PATCH] chore: safe exit for database connection on SIGINT --- src/app.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/app.ts b/src/app.ts index 263c9c9..5407c12 100644 --- a/src/app.ts +++ b/src/app.ts @@ -6,6 +6,7 @@ import express from "express"; import engine from "ejs-mate"; import "@bot/bot"; +import prisma from "@server/prisma"; import homeRouter from "@server/routers/home.router"; import guildRouter from "@server/routers/guild.router"; import { attachGuilds } from "@server/middleware/attachGuilds"; @@ -27,6 +28,15 @@ app.use("/", attachGuilds, homeRouter); const HOST = process.env.HOST || "localhost"; const PORT = process.env.PORT || 3000; -app.listen(PORT, () => { +const server = app.listen(PORT, () => { console.log(`Server is listening on port http://${HOST}:${PORT}`); +}); + +process.on("SIGINT", () => { + console.log("\nShutdown signal received..."); + + prisma.$disconnect(); + server.close(error => { + process.exit(error ? 1 : 0); + }); }); \ No newline at end of file