0
J'ai le maître et les ouvriers qui calculent quelque chose en parallèle.Résumer les valeurs des travailleurs NodeJS
Comment résumer leurs résultats? Après que chaque travailleur a fait son travail, il se tue et la variable 'res' n'a aucune valeur, il est donc impossible de l'accumuler dans n'importe quelle variable.
if (cluster.isMaster) {
for (var i = 0; i < numCPUs; i++) {
const worker = cluster.fork();
worker.send({ mydata: array[i] });
}
} else {
process.on('message', (msg) => {
res = AnyFunction(msg.mydata, dx, f);
console.log('Result of ' + pid + ' worker: ' + res);
process.exit();
});
}
Y at-il un moyen?
Je suppose que vous devriez recevoir des promesses de chaque travailleur lorsqu'ils sont affectés à une tâche. Placez-les dans un tableau et utilisez 'Promise.all (myWorkerPromisesArray)'. – Redu
Il suffit de faire en sorte que les travailleurs envoient un message du résultat avant de se tuer. Puis attrapez ces messages dans l'écouteur d'événement que vous avez ci-dessus et accumulez votre résultat. –