Skip to content

Repository files navigation

jsenv workers npm packagegithub maincodecov coverage

Split CPU intensive code into worker threads.

Example

worker.mjs:

import{parentPort}from"node:worker_threads"parentPort.on("message",async({ a, b })=>{awaitnewPromise((resolve)=>setTimeout(resolve,100))constreturnValue=a+bparentPort.postMessage(returnValue)})

main.mjs:

import{createWorkers}from"@jsenv/workers"constworkers=createWorkers(newURL("./worker.mjs",import.meta.url))constvalue=awaitworkers.addJob({a: 1,b: 1})console.log(value)// 2

Static pool

By default the pool size is dynamic but it can be fixed to X workers.

import{createWorkers}from"@jsenv/workers"constworkers=createWorkers(newURL("./worker.mjs"),{minWorkers: 10,maxWorkers: 10,})

About

Split CPU intensive code into worker threads

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages