首页 文章

从工作进程中获取worker的id

提问于
浏览
8

使用node.js Cluster模块,可以直接获取工作进程的id .

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

那将是:

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

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

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

我正在寻找类似于:

process.id (与process.pid相反)

要么

process.worker.id

在任何情况下,我都无法弄清楚 Worker 身份的内容是什么 .

1 回答

  • 20
    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);
    }
    

    here

相关问题