X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2Ftypescript%2Fpool.ts;h=3d9d9e6f482723cdb634e98bd02a9bbd46df3314;hb=8b7983d43f177abe0716e22cf8d82d72c98cb23c;hp=8e7d4bb7fd981c3bc1e01b80e716374e70187c53;hpb=721e94d19c156cdaada0ffbe3d5b4d5144076948;p=poolifier.git diff --git a/examples/typescript/pool.ts b/examples/typescript/pool.ts index 8e7d4bb7..3d9d9e6f 100644 --- a/examples/typescript/pool.ts +++ b/examples/typescript/pool.ts @@ -1,22 +1,40 @@ -import { join } from "path"; -import { DynamicThreadPool, FixedThreadPool } from "poolifier"; -import { MyData, MyResponse } from "./worker"; +import { dirname, extname, join } from 'node:path' +import { fileURLToPath } from 'node:url' +import type { MyData, MyResponse } from './worker' +import { + DynamicThreadPool, + FixedThreadPool, + availableParallelism +} from 'poolifier' + +const workerFile = join( + dirname(fileURLToPath(import.meta.url)), + `worker${extname(fileURLToPath(import.meta.url))}` +) export const fixedPool = new FixedThreadPool>( - 8, - join(__dirname, "worker.js"), + availableParallelism(), + workerFile, { - errorHandler: (e) => console.error(e), - onlineHandler: () => console.log("Worker is online"), + errorHandler: (e: Error) => { + console.error(e) + }, + onlineHandler: () => { + console.info('Worker is online') + } } -); +) export const dynamicPool = new DynamicThreadPool>( - 2, - 8, - join(__dirname, "worker.js"), + Math.floor(availableParallelism() / 2), + availableParallelism(), + workerFile, { - errorHandler: (e) => console.error(e), - onlineHandler: () => console.log("Worker is online"), + errorHandler: (e: Error) => { + console.error(e) + }, + onlineHandler: () => { + console.info('Worker is online') + } } -); +)