如何将子进程中的Map发送到父进程

时间:2017-01-22 03:50:20

标签: 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.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',
      });
    });

0 个答案:

没有答案