Worker thread queue for Node.js.
npm install @ct0r/worker-queue
// index.js
const queue = require("@ct0r/worker-queue");
const enqueue = queue({ parallelism: 2 });
Promise.all([
enqueue("./parse-xml-worker.js", xml1),
enqueue("./parse-xml-worker.js", xml2),
]);
// parse-xml-worker.js
const { work } = require("@ct0r/worker-queue");
work((xml) => {
// ...
});
or
const enqueue = queue({
filename: "./parse-xml-worker.js",
parallelism: 2,
});
await Promise.all([enqueue(xml1), enqueue(xml2)]);
// or
await Promise.all([xml1, xml].map(enqueue));
Sets level of parallelism and returns enqueue
function.
Returned by queue
if filename
is provided.
Returned by queue
if filename
is not provided.
Invokes given function inside of worker and delegates errors back to queue.