重启node.js集群worker
我有一个节点应用程序,我使用集群在多个核心上运行。
我遇到了一个问题,当我的应用程序抛出异常时,工作人员会死亡并且不会重新启动。这是有道理的,但我想知道是否有更好的方法来处理重新启动这些工作人员,而不必监视它或尝试/捕获或侦听每个错误。
我以前一直用过,似乎这样的东西对于集群来说很有效。
有没有办法重新启动它们,或者在 Express 的顶层添加“pokemon”异常处理,以确保我的工作人员在出现意外异常时不会死亡?
I have a node app I use cluster to run on multiple cores.
I'm running into an issue where when my app throws an exception, the worker dies and doesn't restart. That makes sense, but I'm wondering if there is a better way to handle restarting these workers instead of having to monitor it or try/catch or listen for every error.
I've used forever before, and it seems like something like this would work well for cluster.
Is there a way to reboot them, or add "pokemon" exception handling at a top layer in express to make sure my workers won't die if there's an unexpected exception?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
有许多第三方工具可以帮助解决这个问题。 Monit (http://mmonit.com/monit/) 在 Node 社区中非常流行。另一个选择是
supervise
(http://cr.yp.to/daemontools.html)。There are many 3rd party tools that can help with this. Monit (http://mmonit.com/monit/) is quite popular in the Node community. Another option, of many, is
supervise
(http://cr.yp.to/daemontools.html).当死亡事件发生时分叉新的worker
fork the new worker when death event occurs