-const { FixedThreadPool, PoolEvents } = require('poolifier')
-let resolved = 0
-let poolBusy = 0
-const pool = new FixedThreadPool(15, './yourWorker.js', {
+const {
+ FixedThreadPool,
+ PoolEvents,
+ availableParallelism
+} = require('poolifier')
+
+const pool = new FixedThreadPool(availableParallelism(), './yourWorker.js', {
errorHandler: e => console.error(e),
onlineHandler: () => console.info('worker is online')
})
+let poolReady = 0
+let poolBusy = 0
+pool.emitter.on(PoolEvents.ready, () => poolReady++)
pool.emitter.on(PoolEvents.busy, () => poolBusy++)
+let resolved = 0
const start = performance.now()
const iterations = 1000
for (let i = 1; i <= iterations; i++) {
resolved++
if (resolved === iterations) {
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