X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fpools%2Fabstract-pool.ts;h=9045b063675a7071d77097ae51d3aa4d7bb9cfcb;hb=2889bd70182e9e42c75d686ece3c288307e01d4f;hp=ebc7b5d95f1d3fd84bb00ff0b689bc8ce18bade9;hpb=26ce26ca8861318068427cc86697103e7a3ddbf4;p=poolifier.git diff --git a/src/pools/abstract-pool.ts b/src/pools/abstract-pool.ts index ebc7b5d9..9045b063 100644 --- a/src/pools/abstract-pool.ts +++ b/src/pools/abstract-pool.ts @@ -130,10 +130,10 @@ export abstract class AbstractPool< /** * Constructs a new poolifier pool. * - * @param minimumNumberOfWorkers - Minimum number of workers that this pool should manage. - * @param maximumNumberOfWorkers - Maximum number of workers that this pool should manage. + * @param minimumNumberOfWorkers - Minimum number of workers that this pool manages. * @param filePath - Path to the worker file. * @param opts - Options for the pool. + * @param maximumNumberOfWorkers - Maximum number of workers that this pool manages. */ public constructor ( protected readonly minimumNumberOfWorkers: number, @@ -191,20 +191,20 @@ export abstract class AbstractPool< } } - private checkMinimumNumberOfWorkers (numberOfWorkers: number): void { - if (numberOfWorkers == null) { + private checkMinimumNumberOfWorkers (minimumNumberOfWorkers: number): void { + if (minimumNumberOfWorkers == null) { throw new Error( 'Cannot instantiate a pool without specifying the number of workers' ) - } else if (!Number.isSafeInteger(numberOfWorkers)) { + } else if (!Number.isSafeInteger(minimumNumberOfWorkers)) { throw new TypeError( 'Cannot instantiate a pool with a non safe integer number of workers' ) - } else if (numberOfWorkers < 0) { + } else if (minimumNumberOfWorkers < 0) { throw new RangeError( 'Cannot instantiate a pool with a negative number of workers' ) - } else if (this.type === PoolTypes.fixed && numberOfWorkers === 0) { + } else if (this.type === PoolTypes.fixed && minimumNumberOfWorkers === 0) { throw new RangeError('Cannot instantiate a fixed pool with zero worker') } } @@ -984,8 +984,8 @@ export abstract class AbstractPool< private async sendKillMessageToWorker (workerNodeKey: number): Promise { await new Promise((resolve, reject) => { - if (workerNodeKey < 0 || workerNodeKey >= this.workerNodes.length) { - reject(new Error(`Invalid worker node key '${workerNodeKey}'`)) + if (this.workerNodes?.[workerNodeKey] == null) { + resolve() return } const killMessageListener = (message: MessageValue): void => {