根据许多文章,在node.js应用程序中处理未捕获异常的最佳方法是让进程崩溃而不是重新启动它。这避免了我们的应用程序处于不稳定状态。 我认为可以使用像监视器这样的外部进程(有时称为天使进程)来完成。 在linux系统中执行此操作的最佳方法是什么?乍一看,每隔n秒检查节点进程状态的bash脚本可能是一种可能的解决方案。 提前感谢,任何建议都将非常感谢。
Node.js Best Practice Exception Handling
答案 0 :(得分:3)
有一些解决方案,比如你提到的看门狗/天使流程。你最常听到的那个是“永远”。它可以通过npm获得。
要安装,只需:npm install -g forever
然后,当您想要运行自己的应用时:forever app.js
而不是node app.js
答案 1 :(得分:1)
我已成功使用supervisord,我认为它非常适合您的目的。它不是特定于节点的,您可以将其虚拟地用于任何不会从控制台分离的内容。
使用events功能,它为各种场景提供了一个很好的灵活工具。