X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2FdynamicExample.js;h=f36138ac8085df0c07712f28150616dd7095a6f2;hb=a109e1c64ce3cff450fa79aebfa4de0ac3662be9;hp=79f73c11c53b0f296cd077ecca35fc53a18cab1c;hpb=164d950a1bcdc39b4762294c1581e8befbb344e2;p=poolifier.git diff --git a/examples/dynamicExample.js b/examples/dynamicExample.js index 79f73c11..f36138ac 100644 --- a/examples/dynamicExample.js +++ b/examples/dynamicExample.js @@ -1,15 +1,27 @@ -const { DynamicThreadPool } = require('poolifier') -let resolved = 0 +const { + DynamicThreadPool, + PoolEvents, + availableParallelism +} = require('poolifier') + +const pool = new DynamicThreadPool( + Math.floor(availableParallelism() / 2), + availableParallelism(), + './yourWorker.js', + { + errorHandler: e => console.error(e), + onlineHandler: () => console.info('worker is online') + } +) let poolFull = 0 +let poolReady = 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('full', () => poolFull++) -pool.emitter.on('busy', () => poolBusy++) +pool.emitter.on(PoolEvents.full, () => poolFull++) +pool.emitter.on(PoolEvents.ready, () => poolReady++) +pool.emitter.on(PoolEvents.busy, () => poolBusy++) -const start = Date.now() +let resolved = 0 +const start = performance.now() const iterations = 1000 for (let i = 1; i <= iterations; i++) { pool @@ -17,9 +29,10 @@ for (let i = 1; i <= iterations; i++) { .then(() => { resolved++ if (resolved === iterations) { - 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') + console.info('Time taken is ' + (performance.now() - start)) + console.info('The pool was full for ' + poolFull + ' times') + console.info('The pool was ready for ' + poolReady + ' times') + return console.info('The pool was busy for ' + poolBusy + ' times') } return null })