Improvements based on https://github.com/pioardi/poolifier/issues/6
authoraardizio <alessandroardizio94@gmail.com>
Fri, 24 Jan 2020 21:51:54 +0000 (22:51 +0100)
committeraardizio <alessandroardizio94@gmail.com>
Fri, 24 Jan 2020 21:51:54 +0000 (22:51 +0100)
README.MD
benchmarks/yourWorker.js
examples/multifunctionWorker.js
examples/yourWorker.js
lib/fixed.js
tests/dynamic.test.js
tests/fixed.test.js
tests/workers/echoWorker.js
tests/workers/emptyWorker.js
tests/workers/errorWorker.js
tests/workers/testWorker.js

index 5ab240770bf7e7c4c4728b2cac75a57aab82ace9..7b57162a1b29b28efb9951f54a950f4a80b38c70 100644 (file)
--- a/README.MD
+++ b/README.MD
@@ -49,15 +49,10 @@ function yourFunction (data) {
   return { ok: 1 }
 }
 
-class MyWorker extends ThreadWorker {
-  constructor () {
-    super(yourFunction, { maxInactiveTime: 1000 * 60})
-  }
-}
-module.exports = new MyWorker()
+module.exports = new ThreadWorker(yourFunction, { maxInactiveTime: 60000 })
 ```
 
-Instantiate your pool based on your needed : 
+Instantiate your pool based on your needed :
 
 ```js
 'use strict'
index 701aa8cf4d59cf15cd7623b0b09f8cbb0cef8928..ac3959d121f1fcfa123f1118374a1c4b3d2bcf4f 100644 (file)
@@ -12,9 +12,4 @@ function yourFunction (data) {
   return { ok: 1 }
 }
 
-class MyWorker extends ThreadWorker {
-  constructor () {
-    super(yourFunction)
-  }
-}
-module.exports = new MyWorker()
+module.exports = new ThreadWorker(yourFunction)
index 87edd57d05585ca8da37d9a14e15a2a6472e4cc5..f3efb4529e337945ad17e0734ede160c7c7d2cd7 100644 (file)
@@ -11,9 +11,4 @@ function yourFunction (data) {
   }
 }
 
-class MyWorker extends ThreadWorker {
-  constructor () {
-    super(yourFunction)
-  }
-}
-module.exports = new MyWorker()
+module.exports = new ThreadWorker(yourFunction)
index 701aa8cf4d59cf15cd7623b0b09f8cbb0cef8928..ac3959d121f1fcfa123f1118374a1c4b3d2bcf4f 100644 (file)
@@ -12,9 +12,4 @@ function yourFunction (data) {
   return { ok: 1 }
 }
 
-class MyWorker extends ThreadWorker {
-  constructor () {
-    super(yourFunction)
-  }
-}
-module.exports = new MyWorker()
+module.exports = new ThreadWorker(yourFunction)
index 8d899d57bb4ed00a54e4d1a1f2093641d8bd3f77..676947725bed0bb65fe72fe949be8652b08f39c5 100644 (file)
@@ -34,9 +34,9 @@ class FixedThreadPool {
     }
   }
 
-  destroy () {
+  async destroy () {
     for (const worker of this.workers) {
-      worker.terminate()
+      await worker.terminate()
     }
   }
 
index e23fd9af9fbd32ff210ef178f4cf298f7863af7c..e8be74ace413c874a008dbd846c2ec98811d46cb 100644 (file)
@@ -39,8 +39,7 @@ describe('Dynamic thread pool test suite ', () => {
         closedThreads++
       })
     })
-    pool.destroy()
-    await new Promise(resolve => setTimeout(resolve, 2000))
+    await pool.destroy()
     expect(closedThreads).toBe(min)
   })
 
index 3b485fbf0ffd9db7fc35539f8a52db2164377183..e56e15ff301ea1e6fedcb9081e119bd208f310be 100644 (file)
@@ -61,8 +61,7 @@ describe('Fixed thread pool test suite ', () => {
         closedThreads++
       })
     })
-    pool.destroy()
-    await new Promise(resolve => setTimeout(resolve, 1000))
+    await pool.destroy()
     expect(closedThreads).toBe(numThreads)
   })
 
index 2a5ef89dd199d0ad490065bd6ebdd28002d6abe5..1026a369199fabf767532e463d436794f502ef6d 100644 (file)
@@ -5,10 +5,4 @@ function echo (data) {
   return data
 }
 
-class MyWorker extends ThreadWorker {
-  constructor () {
-    super(echo, { maxInactiveTime: 500 })
-  }
-}
-
-module.exports = new MyWorker()
+module.exports = new ThreadWorker(echo, { maxInactiveTime: 500 })
index 21f93aebd039f4167cc6453d9cfbdcc9c3bb371a..42388d0eca87bdfcfe09c486995f3b14508a7225 100644 (file)
@@ -4,10 +4,4 @@ const { ThreadWorker } = require('../../lib/workers')
 function test (data) {
 }
 
-class MyWorker extends ThreadWorker {
-  constructor () {
-    super(test, { maxInactiveTime: 500 })
-  }
-}
-
-module.exports = new MyWorker()
+module.exports = new ThreadWorker(test, { maxInactiveTime: 500 })
index ee3c74e751e97c781325308f2df9913f4b17ab57..c9b4f9635e3465f5c3de964a659ded7dceb838bd 100644 (file)
@@ -5,10 +5,4 @@ function error (data) {
   throw new Error(data)
 }
 
-class MyWorker extends ThreadWorker {
-  constructor () {
-    super(error, { maxInactiveTime: 500 })
-  }
-}
-
-module.exports = new MyWorker()
+module.exports = new ThreadWorker(error, { maxInactiveTime: 500 })
index 5d66f62e66c65c18ab0ffe6251869f0a71decf92..5c436a14ab1ae811006f83555b89146e33e03e16 100644 (file)
@@ -12,10 +12,4 @@ function test (data) {
   return isMainThread
 }
 
-class MyWorker extends ThreadWorker {
-  constructor () {
-    super(test, { maxInactiveTime: 500 })
-  }
-}
-
-module.exports = new MyWorker()
+module.exports = new ThreadWorker(test, { maxInactiveTime: 500 })