从工作进程中获取worker的id

时间:2015-06-02 20:44:08

标签: node.js

使用node.js群集模块,可以直接获取工作进程的ID。

https://nodejs.org/api/cluster.html

那将是:

cluster.on('fork', function (worker) {
    console.log('A worker', worker.id, 'was forked.');
});

但是如何从工人本身获得工人的id?为什么当集群分叉工作时,集群模块不会给worker一个id?

我是否真的必须从主进程发送它的集群ID?

我正在寻找类似于:

的东西

process.id(与process.pid相反)

process.worker.id

无论如何,我无法弄清楚工人身份的内容是什么。

1 个答案:

答案 0 :(得分:21)

var cluster = require('cluster');

if (cluster.isMaster) {
  console.log('I am master');
  cluster.fork();
  cluster.fork();
} else if (cluster.isWorker) {
  console.log('I am worker #' + cluster.worker.id);
}

,如{{3}}