2015-06-02 44 views
5

使用node.js集羣模塊可以直接獲取工作進程的ID。從工作者進程中獲取工作者的ID

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

,這將是:

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

,但我怎麼能得到工人的id從工人自身內部?當集羣分叉工人時,集羣模塊如何不給工人一個id?

我是否真的必須從主進程中發送工人的羣集ID?

我尋找到一個類似於:

process.id(相對於process.pid)

process.worker.id 
在任何情況下

,我有麻煩搞清楚什麼的ID的工人來自工人本身。

回答

15
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