有一个nodejs(express)应用程序。 它几乎没有路由器处理程序。 在获得SIGTERM后,我希望应用程序以500状态响应所有路由。 我怎样才能做到这一点? 我试过了:
process.on('SIGTERM', () => {
console.log('SIGTERM CATCHED');
app.use((req, res) => {
console.log('RESPONDING PROPERLY')
res.sendStatus(500);
})
});
但这肯定不会覆盖更具体的处理程序。 此外,我不应该关闭该应用程序。
答案 0 :(得分:1)
一旦捕获到SIGTERM,您可以使用设置为“true”的会话变量(如果您愿意,可以使用:))。然后定义一个中间件,测试此会话变量是否为false然后next()else res.sendStatus(500)。