-import { fileURLToPath } from 'node:url'
import { dirname, extname, join } from 'node:path'
-import { FixedThreadPool, availableParallelism } from 'poolifier'
-import { type WorkerData, type WorkerResponse } from './types.js'
+import { fileURLToPath } from 'node:url'
+
+import { availableParallelism, DynamicThreadPool } from 'poolifier'
+
+import type { WorkerData, WorkerResponse } from './types.js'
const workerFile = join(
dirname(fileURLToPath(import.meta.url)),
`worker${extname(fileURLToPath(import.meta.url))}`
)
-export const httpClientPool = new FixedThreadPool<WorkerData, WorkerResponse>(
+export const httpClientPool = new DynamicThreadPool<WorkerData, WorkerResponse>(
+ 0,
availableParallelism(),
workerFile,
{
concurrency: 8
},
errorHandler: (e: Error) => {
- console.error(e)
+ console.error('Thread worker error:', e)
}
}
)