X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2FfixedExample.js;h=1f5ac4ea4e19f52ec474de4c12c6ed314f78704e;hb=9606b474f66413e1626467a0ad293aab3ad06f99;hp=07a57c3ef9c5fc9ff455586498294149bf14ebdb;hpb=292ad316a2815762f2e4a822383f1aef5ae49774;p=poolifier.git diff --git a/examples/fixedExample.js b/examples/fixedExample.js index 07a57c3e..1f5ac4ea 100644 --- a/examples/fixedExample.js +++ b/examples/fixedExample.js @@ -1,19 +1,31 @@ -const { FixedThreadPool } = require('poolifier') -let resolved = 0 -const pool = new FixedThreadPool(15, './yourWorker.js', { +'use strict' +const { + FixedThreadPool, + PoolEvents, + availableParallelism +} = require('poolifier') + +const pool = new FixedThreadPool(availableParallelism(), './yourWorker.js', { errorHandler: e => console.error(e), - onlineHandler: () => console.log('worker is online') + onlineHandler: () => console.info('worker is online') }) +let poolReady = 0 +let poolBusy = 0 +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 - .execute({}) - .then(res => { + .execute() + .then(() => { resolved++ if (resolved === iterations) { - return console.log('Time take is ' + (Date.now() - start)) + console.info('Time taken is ' + (performance.now() - start)) + console.info('The pool was ready for ' + poolReady + ' times') + return console.info('The pool was busy for ' + poolBusy + ' times') } return null })