X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=README.MD;h=1e661a2de4636df54c5d43100d82721e896183ba;hb=ab1526e9c626684f6695f13e4dbb8ed3ab835ac7;hp=b57d650f5c6b190cec920834f6f7b43c85f08fb5;hpb=103df814ebcb0f8add7411aec259c76e68545690;p=poolifier.git
diff --git a/README.MD b/README.MD
index b57d650f..1e661a2d 100644
--- a/README.MD
+++ b/README.MD
@@ -1,10 +1,68 @@
# Node Pool :arrow_double_up: :on:
[![JavaScript Style Guide](https://cdn.rawgit.com/standard/standard/master/badge.svg)](https://github.com/standard/standard)
[![Dependabot](https://badgen.net/dependabot/dependabot/dependabot-core/?icon=dependabot)](https://badgen.net/dependabot/dependabot/dependabot-core/?icon=dependabot)
+[![Actions Status](https://github.com/pioardi/node-pool/workflows/NodeCI/badge.svg)](https://github.com/pioardi/node-pool/actions)
-https://badgen.net/dependabot/dependabot/dependabot-core/?icon=dependabot
-
-Node pool contains two worker-threads pool implementations.
+Node pool contains two worker-threads pool implementations , you don' t have to deal with worker-threads complexity.
The first implementation is a static thread pool , with a defined number of threads that are started at creation time .
The second implementation is a dynamic thread pool with a number of threads started at creation time and other threads created when the load will increase ( with an upper limit ).
+## Installation
+```
+npm install node-pool --save
+```
+# Usage
+
+You can implement a worker in a simple way , extending the class ThreadWorker :
+
+```js
+'use strict'
+const { ThreadWorker } = require('node-pool')
+
+class MyWorker extends ThreadWorker {
+ constructor () {
+ super((data) => {
+ // this will be executed in the worker thread, the data will be received by using the execute method
+ return { ok: 1 }
+ })
+ }
+}
+module.exports = new MyWorker()
+```
+
+Instantiate your pool based on your needed :
+
+```js
+'use strict'
+const { FixedThreadPool } = require('node-pool')
+
+// a fixed thread pool
+const pool = new FixedThreadPool(15,
+ './yourWorker.js')
+
+// or a dynamic thread pool
+const pool = new DynamicThreadPool(10, 100,
+ './yourWorker.js')
+pool.emitter.on('FullPool', () => console.log('Pool is full'))
+
+// 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 ....
+
+```
+
+ See examples folder for more details.
+
+## Node versions
+You can use node version 10.x with --experimental-worker flag, or you can use an higher version (i.e 12.x)
+
+## API
+
+TODO
+
+## License
+
+[MIT](https://github.com/pioardi/node-pool/blob/master/LICENSE)
+