Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

请教一个PM2自动重启问题

$
0
0

前提:最近开发用到pm2来管理node进程,因为策划要经常修改配置表,于是我就用pm2 watch 了对应的策划对应的配置文件目录,这样一来当策划修改了配置表之后进程就自动重启。很好,这就是我想要的结果。

但是现在问题来了,pm2有2种模式:forkcluster 1.fork模式启动node进程:当策划修改配置表之后,能正常自动重启,而且重启之后node程序也能正常访问,唯一不足的就是如果我的程序里出现的uncaught error的时候,pm2会把错误日志写入app-out.log文件里而不是app-error.log文件里,这样就会导致当某一天我上来看到进程重启了,我不知道是策划修改配置表导致的,还是我程序里的uncaught error导致的; 2.cluster模式启动node进程:当程序里出现uncaught error的时候,pm2会把错误日志写入app-error.log文件,这样当我发现程序有重启的时候我只用看error.log里是否有日志就知道了。但是cluster有个问题就是它把node进程restart之后虽然pm2 list命令里看到的status是online但实际node进程是无法访问的。 我试过在cluster模式下手动执行pm2 restart app命令之后也是同样的效果。 试过几个pm2 版本从1.x到2.4.x都是这样。

我知道pm2的cluster模式是可以多启动几个进程以充分利用cpu,但是它restart之后进程并不能访问,那它restart的意义在哪呢? 请教各位前辈!


Viewing all articles
Browse latest Browse all 14821

Trending Articles