Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/deebloo/worker-swarm

A small library to help distribute work across a pool of workers
https://github.com/deebloo/worker-swarm

Last synced: 5 days ago
JSON representation

A small library to help distribute work across a pool of workers

Awesome Lists containing this project

README

        

# Worker Swarm

A small library to help distribute work across a pool of workers

```
npm i worker-swarm
```

### worker.js

```TS
self.onmessage = (e) => {
self.postMessage({
jobId: e.data.jobId, // send the job id back to complete a task
message: 'RESPONSE FROM ANOTHER THREAD'
})
}
```

### UI Thread

```TS
import { WorkerSwarm } from 'worker-swarm';

// Create 3 instances of the worker
const swarm = new WorkerSwarm(() => new Worker('./worker.js'), 3);

// Will go to first worker
swarm.post({}).then((res) => {
console.log(res)
});

// Will go to the second worker
swarm.post({}).then((res) => {
console.log(res)
});

// Will go to the third worker
swarm.post({}).then((res) => {
console.log(res)
});
```