X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fselection-strategies%2Fround-robin-worker-choice-strategy.ts;h=b6d222f59995c523770120d515571bdb8c129b54;hb=7c7bb28936c5de8829dba0794760498077d3ea90;hp=41bc4085ebd5a1399975e48e873fc0612c6a611c;hpb=5623b8d539e054f846e86b1f8b3d2e60be748330;p=poolifier.git diff --git a/src/pools/selection-strategies/round-robin-worker-choice-strategy.ts b/src/pools/selection-strategies/round-robin-worker-choice-strategy.ts index 41bc4085..b6d222f5 100644 --- a/src/pools/selection-strategies/round-robin-worker-choice-strategy.ts +++ b/src/pools/selection-strategies/round-robin-worker-choice-strategy.ts @@ -54,6 +54,8 @@ export class RoundRobinWorkerChoiceStrategy< this.roundRobinNextWorkerNodeKey() if (!this.isWorkerNodeEligible(this.nextWorkerNodeKey as number)) { this.nextWorkerNodeKey = undefined + this.previousWorkerNodeKey = + chosenWorkerNodeKey ?? this.previousWorkerNodeKey } return chosenWorkerNodeKey } @@ -74,7 +76,7 @@ export class RoundRobinWorkerChoiceStrategy< this.nextWorkerNodeKey = this.nextWorkerNodeKey === this.pool.workerNodes.length - 1 ? 0 - : (this.nextWorkerNodeKey ?? 0) + 1 + : (this.nextWorkerNodeKey ?? this.previousWorkerNodeKey) + 1 return this.nextWorkerNodeKey } }