Nodejs中Forever的ever是多久?
Nodejs中Forever的ever是多久?
初学 Node,写了一个小小的博客练手。其实还不能成为博客,只是用 marked 把 .md 文件解释成 HTML 然后在页面显示,暂时没有其他功能。。
问题是:我用了 forever start parser.js,但总是三天两头的挂掉(forever list 看不到这个进程了)。对 forever 的配置选项看不太明白。
求教:
- 如何配置才能让这个进程多活一会儿?
- 文档里 --minUptime 那行提到的 spinning 到底是什么意思?
多谢指教!
Nodejs中Forever的ever是多久?
在使用 Node.js 进程管理工具 forever
时,ever
并不是指一个具体的时间长度,而是指尽可能长时间地运行你的应用。forever
的主要目的是确保你的 Node.js 应用在崩溃或意外退出后能够自动重启。
如何配置才能让这个进程多活一会儿?
要让 forever
更好地管理你的 Node.js 应用并减少进程被意外终止的情况,你可以通过一些配置选项来优化它的行为。以下是一些常用的配置选项:
-
--minUptime
:设置应用在重启前必须保持在线的最短时间(以毫秒为单位)。例如,如果你设置了--minUptime 2000
,那么forever
会确保应用至少运行 2 秒后再考虑重启。 -
--spinSleepTime
:如果forever
检测到应用已经退出,它会在重新启动应用之前等待一段时间。这个选项就是用来设置等待时间(以毫秒为单位)。
示例代码:
forever start --minUptime 2000 --spinSleepTime 1000 parser.js
文档里提到的 spinning
到底是什么意思?
spinning
在这里指的是 forever
在检测到应用退出后,立即尝试重新启动应用的行为。为了避免频繁的重启,你可以使用 --spinSleepTime
来设置一个等待时间,使得 forever
不会立即重新启动应用。
总结一下,forever
的 ever
并不是一个固定的时间概念,而是一种持续运行应用的理念。通过合理的配置,你可以显著提高应用的稳定性和可用性。希望这些信息对你有所帮助!
演示地址 服务器环境:Debian 美国的 VPS
操作系统:Debian jessie Node:v0.11.11-pre Forever:v0.10.11
我试试哈。上面提到的问题也能搞清楚就更好了
pm2 list 之后瞬间好感度飙升啊。。
为什么感觉 pm2 不太稳定呢, 有的时候 stop 都没法 stop, 还得去杀死进程才行
关于您提到的 forever
命令中的 ever
是多久的问题,可以理解为 forever
希望进程能够尽可能长时间地运行下去,直到外部干预或进程自身出错。
如何配置让进程多活一会儿?
forever
提供了一些配置选项来帮助您更好地管理您的 Node.js 应用。以下是一些常用的配置选项:
-
–minUptime: 指定进程在重启前需要运行的最短时间(以毫秒为单位)。默认值是 1000 毫秒(1秒)。
示例:
forever start --minUptime 5000 parser.js
这表示进程必须至少运行5秒才会被
forever
认为是稳定运行的。如果在这段时间内进程崩溃,forever
会立即重启它。 -
–spinSleepTime: 当进程停止时,
forever
会在重启前等待的时间(以毫秒为单位)。默认值是 1000 毫秒(1秒)。示例:
forever start --spinSleepTime 3000 parser.js
这表示每次进程停止后,
forever
会等待3秒再尝试重新启动它。
关于 spinning
spinning
在这里指的是 forever
的自动重启机制。当您的 Node.js 应用崩溃时,forever
会根据上述配置(如 --minUptime
和 --spinSleepTime
)来决定何时以及如何重启应用。
通过合理配置这些参数,您可以确保您的 Node.js 应用更加稳定且持续运行。