gpt4 book ai didi

Node :Handling uncaught exceptions when there are child processes

转载 作者:搜寻专家 更新时间:2023-11-01 00:43:32 24 4
gpt4 key购买 nike

Node 进程在遇到未处理的异常时应该重新启动,这似乎是普遍接受的良好做法。 (例如 see this)

但是,如果应用程序由父进程和子进程组成(例如使用 child_process.fork()),情况会怎样?在这种情况下我们不能只重启子进程。所以我的问题是:

什么是处理 Node 进程中未捕获错误的最佳实践?

最佳答案

我认为这里没有通用的答案 - 这取决于每个过程的目的,它们是否都是您编写和维护的 Node 应用程序等。

如果您说您的应用程序本身由 2 个进程组成,我认为这意味着您编写了两个 Node 应用程序,那么我认为子进程的意外不干净退出应该被视为主进程中的未捕获异常过程。记录它,然后退出父进程并让主管重启父进程(然后将重启子进程)。

我的答案会有所不同,例如,如果子进程是用于调整图像大小的 graphicsmagick。那么子进程崩溃不会对父进程的稳定性有任何特别的影响,记录错误但允许父进程继续运行会很好。

如果子进程只是使用 Node 核心集群模块的工作集群中的一个,那么不,工作崩溃不需要主集群主管退出并重新启动。

我认为绝大多数长时间运行的 Node 应用程序不符合您描述的模型,因此我认为社区这方面的最佳实践。常见的情况是:单进程、带有外部/辅助助手的单进程以及主/工作集群。

关于 Node :Handling uncaught exceptions when there are child processes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26710967/

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