X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=README.md;h=4c247c6363fe40d9627f47388a7f541e7fd82aee;hb=2784022cc1f95ffc256dadc27d082eec4327c045;hp=ff51fdb8eebf1a558c2f8eaecfcf3da06a9693f5;hpb=4f8e444d4f7f3492d7aa09f12ced5a320ab68d30;p=poolifier.git
diff --git a/README.md b/README.md
index ff51fdb8..4c247c63 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
-
Node Thread Pool and Cluster Pool
+Node.js Worker_Threads and Cluster Worker Pool
@@ -39,7 +39,7 @@ Please consult our [general guidelines](#general-guidelines).
- Fixed and dynamic pool size :white_check_mark:
- Easy switch from a pool type to another :white_check_mark:
- No runtime dependencies :white_check_mark:
-- Proper integration with node [async_hooks](https://nodejs.org/api/async_hooks.html) :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 [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:
@@ -110,7 +110,7 @@ const { DynamicThreadPool, FixedThreadPool, PoolEvents, availableParallelism } =
// a fixed worker_threads pool
const pool = new FixedThreadPool(availableParallelism(), './yourWorker.js', {
- errorHandler: e => console.error(e),
+ errorHandler: (e) => console.error(e),
onlineHandler: () => console.info('worker is online')
})
@@ -119,7 +119,7 @@ pool.emitter.on(PoolEvents.busy, () => console.info('Pool is busy'))
// or a dynamic worker_threads pool
const pool = new DynamicThreadPool(Math.floor(availableParallelism() / 2), availableParallelism(), './yourWorker.js', {
- errorHandler: e => console.error(e),
+ errorHandler: (e) => console.error(e),
onlineHandler: () => console.info('worker is online')
})
@@ -131,17 +131,33 @@ pool.emitter.on(PoolEvents.busy, () => console.info('Pool is busy'))
// so you can easy switch from one to another
pool
.execute()
- .then(res => {
+ .then((res) => {
console.info(res)
})
- .catch(err => {
+ .catch((err) => {
console.error(err)
})
```
You can do the same with the classes _ClusterWorker_, _FixedClusterPool_ and _DynamicClusterPool_.
-**See [examples](./examples/) folder for more details (in particular if you want to use a pool with [multiple task functions](./examples/multiFunctionExample.js))**.
+**See [examples](./examples/) folder for more details**:
+
+- [Javascript](./examples/javascript/)
+- [Typescript](./examples/typescript/)
+ - [HTTP client pool](./examples/typescript/http-client-pool/)
+ - [SMTP client pool](./examples/typescript/smtp-client-pool/)
+ - [HTTP server pool](./examples/typescript/http-server-pool/)
+ - [Express worker_threads pool](./examples/typescript/http-server-pool/express-worker_threads/)
+ - [Express cluster pool](./examples/typescript/http-server-pool/express-cluster/)
+ - [Express hybrid pool](./examples/typescript/http-server-pool/express-hybrid/)
+ - [Fastify worker_threads pool](./examples/typescript/http-server-pool/fastify-worker_threads/)
+ - [Fastify cluster pool](./examples/typescript/http-server-pool/fastify-cluster/)
+ - [Fastify hybrid pool](./examples/typescript/http-server-pool/fastify-hybrid/)
+ - [WebSocket server pool](./examples/typescript/websocket-server-pool/)
+ - [ws worker_threads pool](./examples/typescript/websocket-server-pool/ws-worker_threads/)
+ - [ws cluster pool](./examples/typescript/websocket-server-pool/ws-cluster/)
+ - [ws hybrid pool](./examples/typescript/websocket-server-pool/ws-hybrid/)
Remember that workers can only send and receive structured-cloneable data.