diff --git a/src/utils.ts b/src/utils.ts new file mode 100644 index 0000000..64965ae --- /dev/null +++ b/src/utils.ts @@ -0,0 +1,18 @@ +import { cache } from "./config/cache.js"; +import type { ServerType } from "@hono/node-server"; + +export type Prettify = { + [K in keyof T]: T[K]; +} & {}; + +export function execGracefulShutdown(server: ServerType) { + process.stdout.write("\naniwatch-api SHUTTING DOWN gracefully...\n"); + + cache.closeConnection(); + server.close((err) => { + process.stdout.write("\naniwatch-api SHUTDOWN complete.\n"); + err ? console.error(err) : null; + process.exit(err ? 1 : 0); + }); + process.exit(0); +}