X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=README.md;h=531c380433bdc24be2756957116299d24cfe102c;hb=70726c2810ba4768dae5ae1f40ed6ddcecf142ba;hp=d4c60c23c88a5de93809134fb8ab99608c98d214;hpb=129ab848568510850a84dc550c5d2f2e5d804972;p=poolifier.git diff --git a/README.md b/README.md index d4c60c23..531c3804 100644 --- a/README.md +++ b/README.md @@ -34,26 +34,27 @@ With poolifier you can improve your **performance** and resolve problems related Moreover you can execute your tasks using an API designed to improve the **developer experience**. Please consult our [general guidelines](#general-guidance). -- Performance :racehorse: [benchmarks](./benchmarks/README.md) -- Security :bank: :cop: [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=pioardi_poolifier&metric=security_rating)](https://sonarcloud.io/dashboard?id=pioardi_poolifier) [![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=pioardi_poolifier&metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=pioardi_poolifier) -- Easy to use :couple: +- Easy to use :white_check_mark: +- Performance [benchmarks](./benchmarks/README.md) :white_check_mark: - Dynamic pool size :white_check_mark: - Easy switch from a pool to another :white_check_mark: - No runtime dependencies :white_check_mark: - Proper async integration with node async hooks :white_check_mark: -- Support for worker threads and cluster node modules :white_check_mark: +- Support CommonJS, ESM, and TypeScript :white_check_mark: +- Support for worker-threads and cluster node modules :white_check_mark: - Support sync and async tasks :white_check_mark: - Tasks distribution strategies :white_check_mark: -- General guidance on pools to use :white_check_mark: +- General guidance on pool choice :white_check_mark: - Widely tested :white_check_mark: - Error handling out of the box :white_check_mark: - Active community :white_check_mark: -- Code quality :octocat: [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=pioardi_poolifier&metric=bugs)](https://sonarcloud.io/dashboard?id=pioardi_poolifier) +- Code quality [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=pioardi_poolifier&metric=bugs)](https://sonarcloud.io/dashboard?id=pioardi_poolifier) [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=pioardi_poolifier&metric=code_smells)](https://sonarcloud.io/dashboard?id=pioardi_poolifier) [![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=pioardi_poolifier&metric=duplicated_lines_density)](https://sonarcloud.io/dashboard?id=pioardi_poolifier) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=pioardi_poolifier&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=pioardi_poolifier) [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=pioardi_poolifier&metric=reliability_rating)](https://sonarcloud.io/dashboard?id=pioardi_poolifier) [![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=pioardi_poolifier&metric=sqale_index)](https://sonarcloud.io/dashboard?id=pioardi_poolifier) +- Code security [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=pioardi_poolifier&metric=security_rating)](https://sonarcloud.io/dashboard?id=pioardi_poolifier) [![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=pioardi_poolifier&metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=pioardi_poolifier) ## Contents @@ -140,9 +141,9 @@ pool.execute({}).then(res => { You can do the same with the classes ClusterWorker, FixedClusterPool and DynamicClusterPool. -**See examples folder for more details (in particular if you want to use a pool with [multiple worker functions](./examples/multiFunctionExample.js))**. +**See [examples](./examples/) folder for more details (in particular if you want to use a pool with [multiple worker functions](./examples/multiFunctionExample.js))**. -Remember that workers can only send and receive serializable data. +Remember that workers can only send and receive structured-cloneable data. ## Node versions @@ -242,8 +243,8 @@ This method will call the terminate method on each worker. Default: `60000` - `killBehavior` (optional) - Dictates if your async unit (worker/process) will be deleted in case that a task is active on it. - **KillBehaviors.SOFT**: If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still executing, then the worker **won't** be deleted. - **KillBehaviors.HARD**: If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still executing, then the worker will be deleted. + **KillBehaviors.SOFT**: If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still executing or queued, then the worker **won't** be deleted. + **KillBehaviors.HARD**: If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still executing or queued, then the worker will be deleted. This option only apply to the newly created workers. Default: `KillBehaviors.SOFT` @@ -287,14 +288,12 @@ But in general, **always profile your application**. ## Contribute -Choose your task here [2.5.x](https://github.com/orgs/poolifier/projects/1), propose an idea, a fix, an improvement. +Choose your task here [2.6.x](https://github.com/orgs/poolifier/projects/1), propose an idea, a fix, an improvement. See [CONTRIBUTING](CONTRIBUTING.md) guidelines. ## Team - - **Creator/Owner:** - [**Alessandro Pio Ardizio**](https://github.com/pioardi)