X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fselection-strategies%2Fleast-busy-worker-choice-strategy.ts;h=b07a9d1cafe223b642c8dd337cb986d4ea918272;hb=7f13b544e1f3041a2a2e8cf16ec714b4d2e7c2ce;hp=8db32ac7f1421330e36d9bfb81bddf53392a666c;hpb=3ffc32ec66a9c48f39a1b976ebd88cea53824679;p=poolifier.git diff --git a/src/pools/selection-strategies/least-busy-worker-choice-strategy.ts b/src/pools/selection-strategies/least-busy-worker-choice-strategy.ts index 8db32ac7..b07a9d1c 100644 --- a/src/pools/selection-strategies/least-busy-worker-choice-strategy.ts +++ b/src/pools/selection-strategies/least-busy-worker-choice-strategy.ts @@ -69,16 +69,13 @@ export class LeastBusyWorkerChoiceStrategy< } private leastBusyNextWorkerNodeKey (): number | undefined { - if (this.pool.workerNodes.length === 0) { - return undefined - } return this.pool.workerNodes.reduce( (minWorkerNodeKey, workerNode, workerNodeKey, workerNodes) => { return this.isWorkerNodeReady(workerNodeKey) && - (workerNode.usage.runTime.aggregate ?? 0) + - (workerNode.usage.waitTime.aggregate ?? 0) < - (workerNodes[minWorkerNodeKey].usage.runTime.aggregate ?? 0) + - (workerNodes[minWorkerNodeKey].usage.waitTime.aggregate ?? 0) + (workerNode.usage.waitTime.aggregate ?? 0) + + (workerNode.usage.runTime.aggregate ?? 0) < + (workerNodes[minWorkerNodeKey].usage.waitTime.aggregate ?? 0) + + (workerNodes[minWorkerNodeKey].usage.runTime.aggregate ?? 0) ? workerNodeKey : minWorkerNodeKey },