Merge branch 'master' into worker-info
[poolifier.git] / examples / fixedExample.js
... / ...
CommitLineData
1const {
2 FixedThreadPool,
3 PoolEvents,
4 availableParallelism
5} = require('poolifier')
6
7const pool = new FixedThreadPool(availableParallelism(), './yourWorker.js', {
8 errorHandler: e => console.error(e),
9 onlineHandler: () => console.info('worker is online')
10})
11let poolBusy = 0
12pool.emitter.on(PoolEvents.busy, () => poolBusy++)
13
14let resolved = 0
15const start = performance.now()
16const iterations = 1000
17for (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}