chore: implement server onExit utility

master
Katja Lutz 2 years ago
parent f4dd2cdb7f
commit 153a86ab59

@ -0,0 +1,38 @@
export const onExit = (cb: () => void) => {
/*
const origCb = cb;
cb = () => {
origCb();
console.log("finished");
};
*/
const cbAndExit = () => {
cb();
process.exit();
};
const exitSignals = [
"SIGINT",
"SIGTERM",
"uncaughtException",
"SIGUSR1",
"SIGUSR2",
];
const cbSignals = ["beforeExit"];
for (const signal of exitSignals) {
process.on(signal, cbAndExit);
}
for (const signal of cbSignals) {
process.on(signal, cb);
}
return () => {
for (const signal of exitSignals) {
process.off(signal, cbAndExit);
}
for (const signal of cbSignals) {
process.off(signal, cb);
}
};
};
Loading…
Cancel
Save