gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 18:51:14 25 4
gpt4 key购买 nike

当节点中的一个函数崩溃时,它往往会导致整个应用程序崩溃。这可以通过 pm2 等解决方案来缓解和/或为未捕获的异常设置全局监听器。

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

最佳答案

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

Google App Engine Node.js Application Unhealthy

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

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

虽然我不建议这样做。

就我个人而言,我更喜欢将我的机器放在 Google Cloud 中(没有 AppEngine),并为我提供一个服务器,我可以在其中安装 PM2 并根据需要对其进行调料,但是如果您投资于 AppEngine,这是你能做的最好的。

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

此外,在您的代码中使用 Monad(咳咳 Sanctuary/Folktale)强制您处理异常也有帮助:P

关于javascript - App Engine Standard 中的 Node.JS 如何处理崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51279073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com