feat: add 'full' event on dynamic pool emitter
[poolifier.git] / examples / dynamicExample.js
index ed1bddebe0e17914992b26d982e477bf95e8e7bc..79f73c11c53b0f296cd077ecca35fc53a18cab1c 100644 (file)
@@ -1,11 +1,13 @@
 const { DynamicThreadPool } = require('poolifier')
 let resolved = 0
-let maxReached = 0
+let poolFull = 0
+let poolBusy = 0
 const pool = new DynamicThreadPool(10, 20, './yourWorker.js', {
   errorHandler: e => console.error(e),
   onlineHandler: () => console.log('worker is online')
 })
-pool.emitter.on('busy', () => maxReached++)
+pool.emitter.on('full', () => poolFull++)
+pool.emitter.on('busy', () => poolBusy++)
 
 const start = Date.now()
 const iterations = 1000
@@ -15,8 +17,9 @@ for (let i = 1; i <= iterations; i++) {
     .then(() => {
       resolved++
       if (resolved === iterations) {
-        console.log('Time take is ' + (Date.now() - start))
-        return console.log('The pool was busy for ' + maxReached + ' times')
+        console.log('Time taken is ' + (Date.now() - start))
+        console.log('The pool was full for ' + poolFull + ' times')
+        return console.log('The pool was busy for ' + poolBusy + ' times')
       }
       return null
     })