chore: generate documentation
[poolifier.git] / README.md
index 531c380433bdc24be2756957116299d24cfe102c..53ea832dffd985bd05f8d714370be03c994e71f7 100644 (file)
--- a/README.md
+++ b/README.md
@@ -83,7 +83,7 @@ Please consult our [general guidelines](#general-guidance).
 Node pool contains two [worker-threads](https://nodejs.org/api/worker_threads.html#worker_threads_worker_threads)/[cluster worker](https://nodejs.org/api/cluster.html#cluster_class_worker) pool implementations, you don't have to deal with worker-threads/cluster worker complexity.  
 The first implementation is a static worker pool, with a defined number of workers that are started at creation time and will be reused.  
 The second implementation is a dynamic worker pool with a number of worker started at creation time (these workers will be always active and reused) and other workers created when the load will increase (with an upper limit, these workers will be reused when active), the new created workers will be stopped after a configurable period of inactivity.  
-You have to implement your worker extending the ThreadWorker or ClusterWorker class.
+You have to implement your worker by extending the ThreadWorker or ClusterWorker class.
 
 ## Installation
 
@@ -114,29 +114,35 @@ Instantiate your pool based on your needs :
 
 ```js
 'use strict'
-const { DynamicThreadPool, FixedThreadPool, PoolEvents } = require('poolifier')
+const { DynamicThreadPool, FixedThreadPool, PoolEvents, availableParallelism } = require('poolifier')
 
 // a fixed worker-threads pool
-const pool = new FixedThreadPool(15,
-  './yourWorker.js',
-  { errorHandler: (e) => console.error(e), onlineHandler: () => console.log('worker is online') })
+const pool = new FixedThreadPool(availableParallelism(), './yourWorker.js', {
+  errorHandler: e => console.error(e),
+  onlineHandler: () => console.info('worker is online')
+})
 
-pool.emitter.on(PoolEvents.busy, () => console.log('Pool is busy'))
+pool.emitter.on(PoolEvents.busy, () => console.info('Pool is busy'))
 
 // or a dynamic worker-threads pool
-const pool = new DynamicThreadPool(10, 100,
-  './yourWorker.js',
-  { errorHandler: (e) => console.error(e), onlineHandler: () => console.log('worker is online') })
+const pool = new DynamicThreadPool(availableParallelism() / 2, availableParallelism(), './yourWorker.js', {
+  errorHandler: e => console.error(e),
+  onlineHandler: () => console.info('worker is online')
+})
 
-pool.emitter.on(PoolEvents.full, () => console.log('Pool is full'))
-pool.emitter.on(PoolEvents.busy, () => console.log('Pool is busy'))
+pool.emitter.on(PoolEvents.full, () => console.info('Pool is full'))
+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
-pool.execute({}).then(res => {
-  console.log(res)
-}).catch ....
-
+pool
+  .execute({})
+  .then(res => {
+    console.info(res)
+  })
+  .catch(err => {
+    console.error(err)
+  })
 ```
 
 You can do the same with the classes ClusterWorker, FixedClusterPool and DynamicClusterPool.