-import { join } from 'path'
+import { dirname, join } from 'path'
+import { fileURLToPath } from 'url'
import type { MyData, MyResponse } from './worker'
-import { DynamicThreadPool, FixedThreadPool } from 'poolifier'
+import {
+ DynamicThreadPool,
+ FixedThreadPool,
+ availableParallelism
+} from 'poolifier'
export const fixedPool = new FixedThreadPool<MyData, Promise<MyResponse>>(
- 8,
- join(__dirname, 'worker.js'),
+ availableParallelism(),
+ join(dirname(fileURLToPath(import.meta.url)), 'worker.js'),
{
errorHandler: (e: Error) => {
console.error(e)
)
export const dynamicPool = new DynamicThreadPool<MyData, Promise<MyResponse>>(
- 2,
- 8,
- join(__dirname, 'worker.js'),
+ Math.floor(availableParallelism() / 2),
+ availableParallelism(),
+ join(dirname(fileURLToPath(import.meta.url)), 'worker.js'),
{
errorHandler: (e: Error) => {
console.error(e)