docs: fix link in CHANGELOG.md
[poolifier.git] / examples / typescript / pool.ts
CommitLineData
1adc6af7
JB
1import { dirname, join } from 'path'
2import { fileURLToPath } from 'url'
7a6a0a96 3import type { MyData, MyResponse } from './worker'
6961ca9a
JB
4import {
5 DynamicThreadPool,
6 FixedThreadPool,
7 availableParallelism
8} from 'poolifier'
e9e16250
CQ
9
10export 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
23export 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)