Nodejs中Forever的ever是多久?

Nodejs中Forever的ever是多久?

初学 Node,写了一个小小的博客练手。其实还不能成为博客,只是用 marked 把 .md 文件解释成 HTML 然后在页面显示,暂时没有其他功能。。

问题是:我用了 forever start parser.js,但总是三天两头的挂掉(forever list 看不到这个进程了)。对 forever 的配置选项看不太明白。

求教:

  1. 如何配置才能让这个进程多活一会儿?
  2. 文档里 --minUptime 那行提到的 spinning 到底是什么意思?

多谢指教!


7 回复

Nodejs中Forever的ever是多久?

在使用 Node.js 进程管理工具 forever 时,ever 并不是指一个具体的时间长度,而是指尽可能长时间地运行你的应用。forever 的主要目的是确保你的 Node.js 应用在崩溃或意外退出后能够自动重启。

如何配置才能让这个进程多活一会儿?

要让 forever 更好地管理你的 Node.js 应用并减少进程被意外终止的情况,你可以通过一些配置选项来优化它的行为。以下是一些常用的配置选项:

  1. --minUptime:设置应用在重启前必须保持在线的最短时间(以毫秒为单位)。例如,如果你设置了 --minUptime 2000,那么 forever 会确保应用至少运行 2 秒后再考虑重启。

  2. --spinSleepTime:如果 forever 检测到应用已经退出,它会在重新启动应用之前等待一段时间。这个选项就是用来设置等待时间(以毫秒为单位)。

示例代码:

forever start --minUptime 2000 --spinSleepTime 1000 parser.js

文档里提到的 spinning 到底是什么意思?

spinning 在这里指的是 forever 在检测到应用退出后,立即尝试重新启动应用的行为。为了避免频繁的重启,你可以使用 --spinSleepTime 来设置一个等待时间,使得 forever 不会立即重新启动应用。

总结一下,foreverever 并不是一个固定的时间概念,而是一种持续运行应用的理念。通过合理的配置,你可以显著提高应用的稳定性和可用性。希望这些信息对你有所帮助!


演示地址 服务器环境:Debian 美国的 VPS

操作系统:Debian jessie Node:v0.11.11-pre Forever:v0.10.11

我试试哈。上面提到的问题也能搞清楚就更好了

pm2 list 之后瞬间好感度飙升啊。。

为什么感觉 pm2 不太稳定呢, 有的时候 stop 都没法 stop, 还得去杀死进程才行

关于您提到的 forever 命令中的 ever 是多久的问题,可以理解为 forever 希望进程能够尽可能长时间地运行下去,直到外部干预或进程自身出错。

如何配置让进程多活一会儿?

forever 提供了一些配置选项来帮助您更好地管理您的 Node.js 应用。以下是一些常用的配置选项:

  1. –minUptime: 指定进程在重启前需要运行的最短时间(以毫秒为单位)。默认值是 1000 毫秒(1秒)。

    示例:

    forever start --minUptime 5000 parser.js
    

    这表示进程必须至少运行5秒才会被 forever 认为是稳定运行的。如果在这段时间内进程崩溃,forever 会立即重启它。

  2. –spinSleepTime: 当进程停止时,forever 会在重启前等待的时间(以毫秒为单位)。默认值是 1000 毫秒(1秒)。

    示例:

    forever start --spinSleepTime 3000 parser.js
    

    这表示每次进程停止后,forever 会等待3秒再尝试重新启动它。

关于 spinning

spinning 在这里指的是 forever 的自动重启机制。当您的 Node.js 应用崩溃时,forever 会根据上述配置(如 --minUptime--spinSleepTime)来决定何时以及如何重启应用。

通过合理配置这些参数,您可以确保您的 Node.js 应用更加稳定且持续运行。

回到顶部