X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=README.md;h=5f6662be90a1e54bb839de82a92171c9fc258b58;hb=b6fea09e6a8174e664770741943cf08445066e2b;hp=6352a8a1c8e4a9bfc8ee034cecd668f888ae4ddf;hpb=b0834e9d3b796d72b1490cde4dce1cc6f127adb1;p=poolifier.git diff --git a/README.md b/README.md index 6352a8a1..5f6662be 100644 --- a/README.md +++ b/README.md @@ -35,16 +35,21 @@ Moreover you can execute your tasks using an API designed to improve the **devel Please consult our [general guidelines](#general-guidelines). - Easy to use :white_check_mark: -- Performance [benchmarks](./benchmarks/README.md) :white_check_mark: - Fixed and dynamic pool size :white_check_mark: - Easy switch from a pool type to another :white_check_mark: +- Performance [benchmarks](./benchmarks/README.md) :white_check_mark: - No runtime dependencies :white_check_mark: - Proper integration with Node.js [async_hooks](https://nodejs.org/api/async_hooks.html) :white_check_mark: -- Support CommonJS, ESM, and TypeScript :white_check_mark: +- Support for CommonJS, ESM, and TypeScript :white_check_mark: - Support for [worker_threads](https://nodejs.org/api/worker_threads.html) and [cluster](https://nodejs.org/api/cluster.html) Node.js modules :white_check_mark: -- Support multiple task functions :white_check_mark: -- Support sync and async task functions :white_check_mark: +- 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: @@ -62,7 +67,7 @@ Please consult our [general guidelines](#general-guidelines). - [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) @@ -128,7 +133,7 @@ pool.emitter.on(PoolEvents.ready, () => console.info('Pool is ready')) 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) => { @@ -161,9 +166,9 @@ You can do the same with the classes _ClusterWorker_, _FixedClusterPool_ and _Dy 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) @@ -173,9 +178,9 @@ Node versions >= 16.14.x are supported. ## Contribute -Choose your task here [2.6.x](https://github.com/orgs/poolifier/projects/1), propose an idea, a fix, an improvement. +Choose your task [here](https://github.com/orgs/poolifier/projects/1), propose an idea, a fix, an improvement. -See [CONTRIBUTING](CONTRIBUTING.md) guidelines. +See [CONTRIBUTING](./CONTRIBUTING.md) guidelines. ## Team @@ -183,11 +188,14 @@ See [CONTRIBUTING](CONTRIBUTING.md) guidelines. - [**Alessandro Pio Ardizio**](https://github.com/pioardi) -**_Contributors_** +**Maintainers:** -- [**Shinigami92**](https://github.com/Shinigami92) - [**Jérôme Benoit**](https://github.com/jerome-benoit) +**Contributors:** + +- [**Shinigami92**](https://github.com/Shinigami92) + ## License [MIT](./LICENSE)