X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fpools%2Fcluster%2Fdynamic.ts;h=7b2c37984ece0bff91021777653d90e6c3e5ccab;hb=cdaecaee1c7fa5c412daf29f2db41470506793ac;hp=08ebc75c76a66ba5ca311c2e269988d741ad5aff;hpb=f8b3d84c1c95773a1e18d2c025d89d73c4f2ab15;p=poolifier.git diff --git a/src/pools/cluster/dynamic.ts b/src/pools/cluster/dynamic.ts index 08ebc75c..7b2c3798 100644 --- a/src/pools/cluster/dynamic.ts +++ b/src/pools/cluster/dynamic.ts @@ -1,6 +1,6 @@ -import { checkDynamicPoolSize } from '../utils' -import { PoolEvents, type PoolType, PoolTypes } from '../pool' -import { type ClusterPoolOptions, FixedClusterPool } from './fixed' +import { checkDynamicPoolSize } from '../utils.js' +import { PoolEvents, type PoolType, PoolTypes } from '../pool.js' +import { type ClusterPoolOptions, FixedClusterPool } from './fixed.js' /** * A cluster pool with a dynamic number of workers, but a guaranteed minimum number of workers. @@ -34,13 +34,16 @@ export class DynamicClusterPool< super(min, filePath, opts, max) checkDynamicPoolSize( this.minimumNumberOfWorkers, - this.maximumNumberOfWorkers as number + this.maximumNumberOfWorkers ) } /** @inheritDoc */ protected shallCreateDynamicWorker (): boolean { - return !this.full && this.internalBusy() + return ( + (!this.full && this.internalBusy()) || + (this.minimumNumberOfWorkers === 0 && this.workerNodes.length === 0) + ) } /** @inheritDoc */