X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2Ftypescript%2Fpool.ts;h=1be0691a7aa7bf42423530d25d82994e4ce7fa6e;hb=467aa7afd51fa603b1c62767dc29bda3cde9e398;hp=002bbbe2fdf7a4d19f5158d45e1b41620e7f2f20;hpb=4c0fcebf5632d2b216cdcb090fa7aac7ced9a04a;p=poolifier.git diff --git a/examples/typescript/pool.ts b/examples/typescript/pool.ts index 002bbbe2..1be0691a 100644 --- a/examples/typescript/pool.ts +++ b/examples/typescript/pool.ts @@ -1,44 +1,50 @@ import { dirname, extname, join } from 'node:path' import { fileURLToPath } from 'node:url' + import { + availableParallelism, DynamicThreadPool, FixedThreadPool, - availableParallelism } from 'poolifier' -import type { MyData, MyResponse } from './worker' + +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>( +const fixedPool = new FixedThreadPool( availableParallelism(), workerFile, { + onlineHandler: () => { + console.info('Worker is online') + }, errorHandler: (e: Error) => { console.error(e) }, - onlineHandler: () => { - console.info('Worker is online') - } } ) -export const dynamicPool = new DynamicThreadPool>( +await fixedPool.execute() + +const dynamicPool = new DynamicThreadPool( Math.floor(availableParallelism() / 2), availableParallelism(), workerFile, { + onlineHandler: () => { + console.info('Worker is online') + }, errorHandler: (e: Error) => { console.error(e) }, - onlineHandler: () => { - console.info('Worker is online') - } } ) +await dynamicPool.execute() + // eslint-disable-next-line @typescript-eslint/no-misused-promises setTimeout(async () => { await fixedPool.destroy()