是否有充分的理由让您的申请调用`process.exit()`for node.js



有很多问题问:我们如何退出以及通过使用process.exit()命令在节点JS中做什么。但是何时以及为什么需要退出?

我当前如何理解这一点是node/nodemon app.js启动了我们网站运行的服务器的过程。所以我们什么时候以及为什么有没有在生产中关闭它?

我看到了如何关闭此文章(接受答案,评论部分)之后遇到了这一点:Mongoose关闭连接

process.exit()在某种程度上需要云服务。

如果您在Heroku等服务上托管您的申请,则该应用程序每天至少重新启动一次。这称为骑自行车。当Heroku Dyno循环时,它将将Sigterm发送到该应用程序,例如,可以通过以下方式处理该应用程序:

process.on('SIGTERM', gracefulShutdown);
function gracefulShutdown() {
  mongoose.connection.close(() => {
    console.log('Shutting down');
    process.exit(0);
  });
}

当应用程序被示威时,我们希望在继续关闭之前优雅地关闭数据库连接。我们通过收听Sigterm事件来停止默认行为,但是我们仍然必须做Sigterm应该做的事情,这正在停止过程。Heroku之后将重新启动申请。

相关内容

最新更新