管理node.js中的运行时错误

时间:2012-08-23 07:41:54

标签: javascript node.js

我想知道人们在面对运行时错误时使用什么方法来保持node.js实例运行。

未捕获的运行时异常将使节点进程失效(有效地关闭服务器)。我认为人们通常会使用像forever或upstart这样的工具来缓解这个问题,如果它崩溃了,这会让进程再次恢复。这似乎适用于简单的Web服务器方案,但如果您要维护会话,例如在websockets上,这不是一个真正的解决方案(因为它会丢弃你所有的会话)。

当然,理想情况下我应该抓住潜在的例外情况,但总有一些事情会被遗漏。

那么,有什么解决方案?

1 个答案:

答案 0 :(得分:2)

您可以使用process.uncaughtException事件来处理未被删除的exeptions而无需重启应用程序。

在节点0.8.x中,您可以使用domain模块更智能地处理错误。对于express / connect,您可以使用connect-domain模块。