Files
clientsflow/backend/src/index.ts
2026-03-08 18:55:58 +07:00

39 lines
692 B
TypeScript

import { startServer } from "./server";
import { prisma } from "./utils/prisma";
const server = startServer();
async function shutdown(signal: string) {
console.log(`[backend] shutting down by ${signal}`);
try {
await new Promise<void>((resolve, reject) => {
server.close((error) => {
if (error) {
reject(error);
return;
}
resolve();
});
});
} catch {
// ignore shutdown errors
}
try {
await prisma.$disconnect();
} catch {
// ignore shutdown errors
}
process.exit(0);
}
process.on("SIGINT", () => {
void shutdown("SIGINT");
});
process.on("SIGTERM", () => {
void shutdown("SIGTERM");
});