const path = require("path"); const rangi = require("rangi"); const Piscina = require("piscina"); const parser = require("./specParser").parser; const piscina = new Piscina({ filename: path.resolve(__dirname, "worker.js"), }); (async function () { const workload = parser(); console.log( rangi.red(`number of piscina workers to be allocated: ${workload.length}`) ); const parallelExecutor = []; for (let i = 0; i < workload.length; i++) { parallelExecutor.push( piscina.run({ jobId: i, tasks: workload[i], }) ); } await Promise.all(parallelExecutor); })();