- Support for multiple task functions :white_check_mark:
- Support for sync and async task functions :white_check_mark:
- Tasks distribution strategies :white_check_mark:
+- Lockless tasks queueing :white_check_mark:
+- Queued tasks rescheduling:
+ - Task stealing :white_check_mark:
+ - Tasks stealing under back pressure :white_check_mark:
+ - Tasks redistribution on worker error :white_check_mark:
- General guidelines on pool choice :white_check_mark:
- Error handling out of the box :white_check_mark:
- Widely tested :white_check_mark:
- [Overview](#overview)
- [Installation](#installation)
- [Usage](#usage)
-- [Node versions](#node-versions)
+- [Node.js versions](#nodejs-versions)
- [API](#api)
- [General guidelines](#general-guidelines)
- [Worker choice strategies](#worker-choice-strategies)
pool.emitter.on(PoolEvents.busy, () => console.info('Pool is busy'))
// the execute method signature is the same for both implementations,
-// so you can easy switch from one to another
+// so you can easily switch from one to another
pool
.execute()
.then((res) => {
Remember that workers can only send and receive structured-cloneable data.
-## Node versions
+## Node.js versions
-Node versions >= 16.14.x are supported.
+Node.js versions >= 16.14.x are supported.
## [API](./docs/api.md)