X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2FdynamicExample.js;h=1b7391d759b01c7d6a41dbc0a953bfc33e5f2c8b;hb=71002f09cd4b8ac7b8c6d5704222eb045acd1d7a;hp=68c6b6f11f7d09536f754ca5c0ee7a4dedbd89c6;hpb=75b44e22e0bc7bb88788c89cf9204f24c4a96360;p=poolifier.git diff --git a/examples/dynamicExample.js b/examples/dynamicExample.js index 68c6b6f1..1b7391d7 100644 --- a/examples/dynamicExample.js +++ b/examples/dynamicExample.js @@ -1,17 +1,27 @@ -const DynamicThreadPool = require('../lib/dynamic') +const { DynamicThreadPool, PoolEvents } = require('poolifier') let resolved = 0 -let maxReached = 0 -const pool = new DynamicThreadPool(10, 20, './yourWorker.js', { errorHandler: (e) => console.error(e), onlineHandler: () => console.log('worker is online') }) -pool.emitter.on('FullPool', () => maxReached++) +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(PoolEvents.full, () => poolFull++) +pool.emitter.on(PoolEvents.busy, () => poolBusy++) -const start = Date.now() +const start = performance.now() const iterations = 1000 -for (let i = 0; i <= iterations; i++) { - pool.execute({}).then(res => { - resolved++ - if (resolved === iterations) { - console.log('Time take is ' + (Date.now() - start)) - console.log('The pool was full for ' + maxReached + ' times') - } - }) +for (let i = 1; i <= iterations; i++) { + pool + .execute({}) + .then(() => { + resolved++ + if (resolved === iterations) { + console.log('Time taken is ' + (performance.now() - start)) + console.log('The pool was full for ' + poolFull + ' times') + return console.log('The pool was busy for ' + poolBusy + ' times') + } + return null + }) + .catch(err => console.error(err)) }