我在NodeJS中遇到PM2问题.没有PM2,我们总是有一些代码行,如下所示配置主进程
if(cluster.isMaster){
//master process configuration
} else {
//worker process configuration
}
Run Code Online (Sandbox Code Playgroud)
确切地说,我想将消息从工作人员发送到主人,然后,主人将向所有工作人员发回消息以通知事件.
实际上,我看到,使用PM2时,主进程配置中没有代码行运行.
非常感谢您对此问题的任何想法!
我从一篇文章中读到了这行代码,它们展示了函数生成器的工作流程。
var foo, f;
foo = function* () {
console.log('generator 1');
console.log('yield 1', yield 'A');
console.log('generator 2');
console.log('yield 2', yield 'B');
console.log('generator 3');
};
f = foo();
console.log('tick 1');
console.log(f.next('a'));
console.log('tick 2');
console.log(f.next('b'));
console.log('tick 3');
console.log(f.next('c'));
console.log('tick 4');
console.log(f.next('d'));
Run Code Online (Sandbox Code Playgroud)
这是终端中的日志:
tick 1
generator 1
{ value: 'A', done: false }
tick 2
yield 1 b
generator 2
{ value: 'B', done: false }
tick 3
yield 2 c
generator 3
{ value: undefined, done: true }
tick 4
{ value: …Run Code Online (Sandbox Code Playgroud) 我正在使用 pm2 来管理我的 nodejs express 应用程序(以集群模式运行)中的进程。
我们有两种错误处理程序
第一:'uncaughtException' 将被处理
process.on('uncaughtException', function(err){});
Run Code Online (Sandbox Code Playgroud)实际上,我没有声明这样的处理程序,因为在这种情况下让 pm2 检测到死亡的工人,因此会自动重新启动死亡的工人。
第二:express error handler,我的意思是错误将被转发到express error handler,而不是uncaughtException handler,错误处理程序如下
app.use(function(err, req, res, next) {})
Run Code Online (Sandbox Code Playgroud)我也没有为了与 uncaughtException 相同的目的声明这个错误处理程序。但是在这种情况下 pm2 不会重新启动节点。
对这个问题有什么想法吗?非常感谢