X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fpools%2Fselection-strategies%2Fdynamic-pool-worker-choice-strategy.ts;h=c0622613d8701c02360a04c7ab91abe10aff33d3;hb=965415bb43f5c76329f0854ed680e22068e3affb;hp=54c95329ff67d7e948b23df7272b70b039dfa884;hpb=979e2251853435eb4c98d9452bbf787a16aa0266;p=poolifier.git diff --git a/src/pools/selection-strategies/dynamic-pool-worker-choice-strategy.ts b/src/pools/selection-strategies/dynamic-pool-worker-choice-strategy.ts index 54c95329..c0622613 100644 --- a/src/pools/selection-strategies/dynamic-pool-worker-choice-strategy.ts +++ b/src/pools/selection-strategies/dynamic-pool-worker-choice-strategy.ts @@ -51,17 +51,14 @@ export class DynamicPoolWorkerChoiceStrategy< /** {@inheritDoc} */ public choose (): number { - const freeWorkerKey = this.pool.findFreeWorkerKey() - if (freeWorkerKey !== -1) { - return freeWorkerKey - } - if (this.pool.busy) { return this.workerChoiceStrategy.choose() } - - // All workers are busy, create a new worker - return this.createWorkerCallback() + const freeWorkerKey = this.pool.findFreeWorkerKey() + if (freeWorkerKey === -1) { + return this.createWorkerCallback() + } + return this.workerChoiceStrategy.choose() } /** {@inheritDoc} */