Sometimes, we want to shut down an Express server gracefully when its process is killed with Node.js.
In this article, we’ll look at how to shut down an Express server gracefully when its process is killed with Node.js.
How to shut down an Express server gracefully when its process is killed with Node.js?
To shut down an Express server gracefully when its process is killed with Node.js, we can use the @moebius/http-graceful-shutdown package.
To install it, we run
npm i @moebius/http-graceful-shutdown
Then we use it by writing
const express = require("express");
const { GracefulShutdownManager } = require("@moebius/http-graceful-shutdown");
const app = express();
const server = app.listen(8080);
const shutdownManager = new GracefulShutdownManager(server);
process.on("SIGTERM", () => {
shutdownManager.terminate(() => {
console.log("Server is gracefully terminated");
});
});
We create a GracefulShutdownManager instance by calling the constructor with our server and assign it to shutdownManager.
And then we call shutdownManager.terminate to shut down our server gracefully when the SIGTERM signal is received.
Conclusion
To shut down an Express server gracefully when its process is killed with Node.js, we can use the @moebius/http-graceful-shutdown package.