if (cluster.isMaster) {
for(let i = 0; i < cpuCount; i++) {
//cluster.schedulingPolicy = cluster.SCHED_NONE;
cluster.fork();
}
function chunkArrayDrob(myArray, chunk_size){
let results = [];
while (myArray.length) {
results.push(myArray.splice(0, chunk_size));
}
return results;
}
let readLinesCount;
let lastPieceOfData = '';
read.on('data', (chunk) => {
const chunkArray = (lastPieceOfData + chunk).split('\n');
lastPieceOfData = chunkArray[chunkArray.length - 1];
const workerData = chunkArray.slice(0, -1);
readLinesCount = readLinesCount + chunkArray.length - 1;
//worker.send(workerData.length);
const step = Math.ceil(parseInt(workerData.length) / cpuCount);
let result = chunkArrayDrob(workerData, step);
for(let i = 0; i < cpuCount; i++) {
const worker = cluster.fork();
worker.send(result[i+1]);
}
});
ты в самом начале создал cpuCount ворекров, потом на каждый чанк создаёшь ещё столько же воркеров??