Node.js 如何将映射从子进程发送到父进程
我用Node.js 如何将映射从子进程发送到父进程,node.js,process,child-process,Node.js,Process,Child Process,我用worker模块派生子进程。我想在子进程完成一些工作后将映射结果返回给父进程,但它不起作用。地图的大小相当大,我不确定这是否是原因。如何从子进程向父进程发送映射 function doWork() { var child = cp.fork(__dirname + '/work'); child.on('message', function(m) { console.log('completed: ' + m.results); }); child
worker
模块派生子进程。我想在子进程完成一些工作后将映射结果返回给父进程,但它不起作用。地图的大小相当大,我不确定这是否是原因。如何从子进程向父进程发送映射
function doWork() {
var child = cp.fork(__dirname + '/work');
child.on('message', function(m) {
console.log('completed: ' + m.results);
});
child.send({
msg: 'do work',
name: self.myname
});
}
worker.js
var results = {};
process.on ("message", function (m){
// work populates results map
work(m.name);
process.send({
msg : 'DONE',
// somehow this doesn't work
results: JSON.stringify(results)
});
});
如果我删除result
,它就会工作。我可以在父进程中获取msg
var results = {};
process.on ("message", function (m){
// work populates results map
work(m.name);
process.send({
msg : 'DONE',
});
});
它有多大?你说它不起作用是什么意思?是否有错误被抛出?闲置时卡住?还是被CPU 100%卡住了?或者有一处不见了的房子?很大。。这张地图大约有1百万行console.log('completed:'+m.results);`这个永远不会被打印出来。。