Node.js服务自动停止

时间:2019-03-06 09:36:56

标签: php node.js sockets

我们正在研究在后台套接字中使用node-js来继续响应Web应用程序的项目。在这之间,有时某些过程会自动停止。

我们想知道如何永远检查所有正在运行的进程。

我们正在使用sudo forever列表来列出所有进程。有什么方法可以在.sh(shell脚本文件)中使用此命令(永久列表)来检查我的特定进程,如responsclient是否正常工作。如果该特定程序无法正常工作,那么我们需要启动该程序。

1 个答案:

答案 0 :(得分:0)

有几种解决方案可确保您的服务始终运行。

其中之一甚至被称为forever。这里有express准备的概述。

但是,对于生产服务,我建议passenger的结果几乎相同,但可伸缩性更大。例如,您可以配置为自动添加另一个实例。

几乎-因为它旨在确保HTTP的可用性,而不是确保应用程序的持续运行。

顺便说一句:服务停止,因为您有未捕获的异常。

更新

如果您坚持使用forever,那么:(我们在谈论同一个forever?)

  • 确保forever由同一用户运行。 forever为所有用户设有单独的管理员。
  • 确保将数据保存在同一位置。 (例如,由cron自动运行与手动启动(env中的变量不同))
  • forever具有--pidFile-然后,很容易检查该过程是否正常
  • ps -aux | grep node也应该是你的大朋友。

不,我没有将其合并。当我开始遇到问题时,我切换到passenger。最终,我做到了,因为我有了专业的监控,与搜寻如何将上述各点结合在一起所花费的时间相比,我花费的时间更少。