X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fthread%2Fdynamic.ts;h=b0a22346690bd36c471b6b45c844af8ffae098ea;hb=bcc9e518ccacb739018c92de22011fa4e8d47ece;hp=1d3f3f5d3c64d0d94a367c17f92a6df1d2b4d75f;hpb=2431bdb4c2dc637169bf623a40fc6562f685e56e;p=poolifier.git diff --git a/src/pools/thread/dynamic.ts b/src/pools/thread/dynamic.ts index 1d3f3f5d..b0a22346 100644 --- a/src/pools/thread/dynamic.ts +++ b/src/pools/thread/dynamic.ts @@ -1,5 +1,7 @@ -import { type PoolType, PoolTypes } from '../pool' -import { FixedThreadPool, type ThreadPoolOptions } from './fixed' +import { type Worker } from 'node:worker_threads' +import { type PoolOptions, type PoolType, PoolTypes } from '../pool' +import { checkDynamicPoolSize } from '../utils' +import { FixedThreadPool } from './fixed' /** * A thread pool with a dynamic number of threads, but a guaranteed minimum number of threads. @@ -26,12 +28,15 @@ export class DynamicThreadPool< */ public constructor ( min: number, - protected readonly max: number, + max: number, filePath: string, - opts: ThreadPoolOptions = {} + opts: PoolOptions = {} ) { - super(min, filePath, opts) - this.checkDynamicPoolSize(this.numberOfWorkers, this.max) + super(min, filePath, opts, max) + checkDynamicPoolSize( + this.minimumNumberOfWorkers, + this.maximumNumberOfWorkers as number + ) } /** @inheritDoc */ @@ -39,11 +44,6 @@ export class DynamicThreadPool< return PoolTypes.dynamic } - /** @inheritDoc */ - protected get maxSize (): number { - return this.max - } - /** @inheritDoc */ protected get busy (): boolean { return this.full && this.internalBusy()