Task-worker система на node.js

Есть задача сделать task-worker систему которая должна состоять из главного процесса и child процессов (кол-во child процессов должно быть равно кол-ву ядер на ПК)

суть - с фронта передается задача(объект) в главный процесс (Master) после чего главный процесс передает задачу на исполнение в child процессы ***(Worker)***, после выполнения Worker отдает результат обратно на Master

у меня нет опыта работы с node.js я нашел такую конструкцию которая (как я понял) передает задачи воркерам в зависимости от кол-ва ядер ПК

  1. правильно ли я понимаю что в файле ‘/worker.js’ должно быть описано поведение воркеров? и обработка результата ответа?

  2. если нет, подскажите как правильно описать модель общения главного и child процессов

    var cluster = require(‘cluster’);
    var numCPUs = require(‘os’).cpus().length;

    cluster.setupMaster({exec: __dirname + ‘/worker.js’});

     if (cluster.isMaster) {
       // Fork workers.
       for (var i = 0; i < numCPUs; i++) {
         cluster.fork();
       }
     
       cluster.on('exit', function(worker, code, signal) {
         console.log('worker ' + worker.process.pid + ' died');
       });
     } else {
       // Workers can share any TCP connection
       // In this case it is an HTTP server
       http.createServer(function(req, res) {
         res.writeHead(200);
         res.end("hello world\n");
       }).listen(PORT);
     }

Здравствуй тестовое задание с NOOSPHERE

и для чего это было сказано?