X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2Ftypescript%2Fpool.ts;h=c55c4e96557dc8fcb400847745b0ac2c5ee014c7;hb=45560c0539e5668157f1352c984bcd2e8ded6124;hp=a53857c0f311a63ff321b4ce08b9e1ef02465dcd;hpb=1adc6af72c087b9412e625bc9576be67d40e7397;p=poolifier.git diff --git a/examples/typescript/pool.ts b/examples/typescript/pool.ts index a53857c0..c55c4e96 100644 --- a/examples/typescript/pool.ts +++ b/examples/typescript/pool.ts @@ -1,15 +1,22 @@ -import { dirname, join } from 'path' -import { fileURLToPath } from 'url' -import type { MyData, MyResponse } from './worker' +import { dirname, extname, join } from 'node:path' +import { fileURLToPath } from 'node:url' + import { + availableParallelism, DynamicThreadPool, - FixedThreadPool, - availableParallelism + FixedThreadPool } from 'poolifier' -export const fixedPool = new FixedThreadPool>( +import type { MyData, MyResponse } from './worker.js' + +const workerFile = join( + dirname(fileURLToPath(import.meta.url)), + `worker${extname(fileURLToPath(import.meta.url))}` +) + +export const fixedPool = new FixedThreadPool( availableParallelism(), - join(dirname(fileURLToPath(import.meta.url)), 'worker.js'), + workerFile, { errorHandler: (e: Error) => { console.error(e) @@ -20,10 +27,10 @@ export const fixedPool = new FixedThreadPool>( } ) -export const dynamicPool = new DynamicThreadPool>( +export const dynamicPool = new DynamicThreadPool( Math.floor(availableParallelism() / 2), availableParallelism(), - join(dirname(fileURLToPath(import.meta.url)), 'worker.js'), + workerFile, { errorHandler: (e: Error) => { console.error(e) @@ -33,3 +40,9 @@ export const dynamicPool = new DynamicThreadPool>( } } ) + +// eslint-disable-next-line @typescript-eslint/no-misused-promises +setTimeout(async () => { + await fixedPool.destroy() + await dynamicPool.destroy() +}, 3000)