Quelle est la façon la plus simple d'exécuter du code dans un processus différent et de communiquer son résultat au processus principal?

J'ai donc une tâche assez intensive qui doit être divisée en différents processus. Quelle est la façon la plus simple de faire quelque chose comme ça?

// in main process
var otherProcess = createAnotherProcess(function() {
    console.log("this code is ran in another process");
    return "some data";
});
otherProcess.on("done", function(data) {
    console.log(data); // will output "some data"
});

Avoir un seul fichier de code source capable d'exécuter du code dans plusieurs processus serait incroyable! Est-ce seulement possible? J'ai essayé de lire un peu sur "child_processes" dans le nœud mais le trouve un peu trop compliqué.

De l'aide?

6
Luca Matteis 19 oct. 2011 à 17:31

3 réponses

Meilleure réponse
var spawn = require("child_process").spawn;
var stat = spawn("dstat", ["-r", "--noheaders", "--nocolor"]);


var output = function (output_data) {
  //do something with output_data
};

stat.stdout.on("data", output);

http://nodejs.org/docs/v0.4.11/api/child_processes.html

2
chovy 19 oct. 2011 à 14:36

Utilisez dimas-parallel (sur npm):

var dimas = require('dimas-parallel);

dimas.execute(function() {
  // do some stuff on another process
});
0
shudima 19 juil. 2015 à 10:45
7822080