I used to think NodeJS nor its alternatives never have any clue for listening to OS quit signals. I used to put tini
to make it stopped.
Actually, we can stop them. It’s just the code must be added manually. The code:
process.on('SIGINT', () => {
console.log('Received SIGINT. Performing graceful shutdown...');
// Perform cleanup operations here, e.g., close database connections,
// close open files, stop accepting new requests, etc.
process.exit(0); // Exit after cleanup
});
process.on('SIGTERM', () => {
console.log('Received SIGTERM. Performing graceful shutdown...');
// Perform cleanup operations here
process.exit(0); // Exit after cleanup
});
To make us in the same page:
bun create hono@latest sample-app
We modify the src/index.ts
so it would be like this:
import { Hono } from 'hono'
const app = new Hono()
app.get('/', (c) => {
return c.text('Hello Hono!')
})
process.on('SIGINT', () => {
console.log('Received SIGINT. Performing graceful shutdown...');
// Perform cleanup operations here, e.g., close database connections,
// close open files, stop accepting new requests, etc.
process.exit(0); // Exit after cleanup
});
process.on('SIGTERM', () => {
console.log('Received SIGTERM. Performing graceful shutdown...');
// Perform cleanup operations here
process.exit(0); // Exit after cleanup
});
export default app
Now our app will listen to the sound of her people.