0

我使用集群和 node.js。根据集群文档,我有主/工人设置和主分叉工人

 cluster.on("death", function() {
    cluster.fork()
 })

在工人中在 app.listen(3000) 之前做一些预处理。如果预处理没有通过,我认为没有必要启动服务器。

// In worker code
preProcess ( function(err) {
  if err
     exit()
  else
    app.listen(3000)

}}

现在我的问题是主集群进程不断分叉工人,工人不断死亡,因为预处理没有通过。

我需要一种方法来区分主人何时分叉工人。

我怎样才能做到这一点?

4

1 回答 1

0

您应该使用 cluster.on('exit', function (worker, code, signal) 因为您可以检查变量 code 和 signal 以确定什么错误以及何时分叉。

  cluster.on('exit', function (worker, code, signal) {
    logger.log.warn('Worker server died (ID: %d, PID: %d)', worker.id, worker.process.pid);
    cluster.fork();
  });
于 2013-08-28T20:45:01.090 回答