有没有什么好的理由让你的应用程序调用node.js的`process.exit()`?

有很多问题要问:我们如何退出以及它在节点js中究竟做了什么:使用process.exit()命令。但是何时和为什么你需要退出?有没有什么好的理由让你的应用程序调用node.js的`process.exit()`?

我目前的了解是node/nodemon app.js用我们的网站运行的服务器启动一个进程。那么当我们为什么要在生产中关闭它时,我们需要 ?

我碰到这个就看见了如何关闭这个SO文章(接受的答案,评论部分)MongdoDB连接后: Mongoose Close Connection

回答:

process.exit()有所需要的云服务,如Heroku的。

如果您将应用程序托管在Heroku等服务上,那么应用程序将每天至少重新启动一次。这被称为cycling。当Heroku的赛道周期将发送SIGTERM到应用程序,其中,例如,可以通过以下方式处理:

process.on('SIGTERM', gracefulShutdown); 

function gracefulShutdown() {

mongoose.connection.close(() => {

console.log('Shutting down');

process.exit(0);

});

}

当应用程序sigtermed我们要优雅地关闭数据库连接之前我们入手关闭。我们通过侦听SIGTERM事件来停止默认行为,但我们仍然需要做SIGTERM应该做的事情,这会阻止这个过程。之后Heroku将重新启动应用程序。

以上是 有没有什么好的理由让你的应用程序调用node.js的`process.exit()`? 的全部内容, 来源链接: utcz.com/qa/258899.html

回到顶部