繁体   English   中英

App Engine Standard中的Node.JS如何处理崩溃?

[英]How does Node.JS in App Engine Standard handle crashes?

当节点中的功能崩溃时,它往往会导致整个应用程序崩溃。 pm2之类的解决方案和/或具有用于未捕获异常的全局侦听器的解决方案可以缓解这种情况。

在AppEngine 标准 NodeJS中如何处理? 如果发生未捕获的异常-它们是否会自动恢复(并记录)-允许其他功能仍然运行,还是必须做一些手动工作来处理这种情况?

如果您的Node.js应用程序崩溃,则AppEngine会将其错误记录在其日志记录机制中,然后重新启动。 如果仍然崩溃,它将标记为不健康的应用程序:

Google App Engine Node.js应用程序不正常

如果您不想依赖AppEngine,可以随时将此代码段添加到所有Node.js应用程序中:

const someFn = // do something to handle exceptions
process.on("unhandledRejection", someFn );

虽然我建议不要这样做。

就我个人而言,我更喜欢将计算机安装在Google Cloud中(没有AppEngine),并为我提供一台服务器,在那里我可以拥有PM2,并可以在其中为其添加所需的香料,但是如果您投资于AppEngine,那是最好的选择你可以做。

您需要记住的另一件事是,即使GAE记录了错误, 您也确实有日志限制 ,因此,如果您的应用程序一直崩溃,那么最终您会遇到问题。

另外,在您的代码中使用Monads( 咳嗽咳嗽保护区/ Folktale)会迫使您处理异常,这也有助于:P

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM