docs: document availableParallelism() usage
[poolifier.git] / examples / fixedExample.js
1 const {
2 FixedThreadPool,
3 PoolEvents,
4 availableParallelism
5 } = require('poolifier')
6
7 const pool = new FixedThreadPool(availableParallelism(), './yourWorker.js', {
8 errorHandler: e => console.error(e),
9 onlineHandler: () => console.info('worker is online')
10 })
11 let poolBusy = 0
12 pool.emitter.on(PoolEvents.busy, () => poolBusy++)
13
14 let resolved = 0
15 const start = performance.now()
16 const iterations = 1000
17 for (let i = 1; i <= iterations; i++) {
18 pool
19 .execute({})
20 .then(() => {
21 resolved++
22 if (resolved === iterations) {
23 console.info('Time taken is ' + (performance.now() - start))
24 return console.info('The pool was busy for ' + poolBusy + ' times')
25 }
26 return null
27 })
28 .catch(err => console.error(err))
29 }