Commit | Line | Data |
---|---|---|
1adc6af7 JB |
1 | import { dirname, join } from 'path' |
2 | import { fileURLToPath } from 'url' | |
7a6a0a96 | 3 | import type { MyData, MyResponse } from './worker' |
6961ca9a JB |
4 | import { |
5 | DynamicThreadPool, | |
6 | FixedThreadPool, | |
7 | availableParallelism | |
8 | } from 'poolifier' | |
e9e16250 CQ |
9 | |
10 | export const fixedPool = new FixedThreadPool<MyData, Promise<MyResponse>>( | |
6961ca9a | 11 | availableParallelism(), |
1adc6af7 | 12 | join(dirname(fileURLToPath(import.meta.url)), 'worker.js'), |
e9e16250 | 13 | { |
a974afa6 JB |
14 | errorHandler: (e: Error) => { |
15 | console.error(e) | |
16 | }, | |
17 | onlineHandler: () => { | |
53795b86 | 18 | console.info('Worker is online') |
a974afa6 | 19 | } |
e9e16250 | 20 | } |
cf9aa6c3 | 21 | ) |
e9e16250 CQ |
22 | |
23 | export const dynamicPool = new DynamicThreadPool<MyData, Promise<MyResponse>>( | |
31a7d5be | 24 | Math.floor(availableParallelism() / 2), |
6961ca9a | 25 | availableParallelism(), |
1adc6af7 | 26 | join(dirname(fileURLToPath(import.meta.url)), 'worker.js'), |
e9e16250 | 27 | { |
a974afa6 JB |
28 | errorHandler: (e: Error) => { |
29 | console.error(e) | |
30 | }, | |
31 | onlineHandler: () => { | |
53795b86 | 32 | console.info('Worker is online') |
a974afa6 | 33 | } |
e9e16250 | 34 | } |
cf9aa6c3 | 35 | ) |