38

我有一个可用的 Node.js 应用程序,但有已知和未知的错误会导致应用程序崩溃。pm2在这种情况下,如果可以重新启动节点应用程序会很好。此功能是否已在 中可用pm2

4

4 回答 4

42

是的,默认情况下它会这样做。有关详细信息,请参阅重启策略

如果应用程序在短时间内反复无法启动,pm2 可能会停止重启。请参阅配置和。min_uptimemax_restarts

于 2014-10-01T06:57:22.790 回答
9

另外,检查这个新的优秀选项:

--exp-backoff-restart-delay=100

pm2将在 100 毫秒(0.1 秒)后重启崩溃的应用程序,然后逐步将重启延迟增加到 15 秒。

于 2019-05-07T12:55:34.597 回答
6

要让应用程序在崩溃时重启,您必须使用 PM2 的重启策略之一。

有一种叫做“指数退避重启延迟”的东西,PM2 解释为:

当异常发生时(例如数据库关闭),不是像疯狂地重新启动您的应用程序,而是指数退避重新启动将增加重新启动之间的时间。

您可以像这样使用 CLI 进行设置:

pm2 start app.js --exp-backoff-restart-delay=100

还有其他的重启方法,这里提到了

于 2020-03-24T10:14:45.970 回答
3

这可能会有所帮助:

# Generate Startup Script
$ pm2 startup

# Freeze your process list across server restart
$ pm2 save

# Remove Startup Script
$ pm2 unstartup

更多细节在这里

于 2019-10-09T14:48:29.267 回答