X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fselection-strategies%2Fabstract-worker-choice-strategy.ts;h=68e09238b204c35e4f6bb87392021f314e3e2923;hb=c0fbf5305a76516a6a722a16cd981b0f84c66f8a;hp=999d9c866cd46aebc168cadf9408dc86ec8c0c0d;hpb=f3a91bac2d5c34013f6394ebbe3576569b0cfcc0;p=poolifier.git diff --git a/src/pools/selection-strategies/abstract-worker-choice-strategy.ts b/src/pools/selection-strategies/abstract-worker-choice-strategy.ts index 999d9c86..68e09238 100644 --- a/src/pools/selection-strategies/abstract-worker-choice-strategy.ts +++ b/src/pools/selection-strategies/abstract-worker-choice-strategy.ts @@ -123,7 +123,7 @@ export abstract class AbstractWorkerChoiceStrategy< * @returns Whether the worker node is ready or not. */ private isWorkerNodeReady (workerNodeKey: number): boolean { - return this.pool.workerNodes[workerNodeKey].info.ready + return this.pool.workerNodes[workerNodeKey]?.info.ready } /** @@ -162,8 +162,8 @@ export abstract class AbstractWorkerChoiceStrategy< */ protected getWorkerNodeTaskRunTime (workerNodeKey: number): number { return this.taskStatisticsRequirements.runTime.median - ? this.pool.workerNodes[workerNodeKey]?.usage?.runTime?.median ?? 0 - : this.pool.workerNodes[workerNodeKey]?.usage?.runTime?.average ?? 0 + ? this.pool.workerNodes[workerNodeKey].usage.runTime.median ?? 0 + : this.pool.workerNodes[workerNodeKey].usage.runTime.average ?? 0 } /** @@ -176,8 +176,8 @@ export abstract class AbstractWorkerChoiceStrategy< */ protected getWorkerNodeTaskWaitTime (workerNodeKey: number): number { return this.taskStatisticsRequirements.waitTime.median - ? this.pool.workerNodes[workerNodeKey]?.usage?.waitTime?.median ?? 0 - : this.pool.workerNodes[workerNodeKey]?.usage?.waitTime?.average ?? 0 + ? this.pool.workerNodes[workerNodeKey].usage.waitTime.median ?? 0 + : this.pool.workerNodes[workerNodeKey].usage.waitTime.average ?? 0 } /** @@ -190,8 +190,8 @@ export abstract class AbstractWorkerChoiceStrategy< */ protected getWorkerNodeTaskElu (workerNodeKey: number): number { return this.taskStatisticsRequirements.elu.median - ? this.pool.workerNodes[workerNodeKey]?.usage?.elu?.active?.median ?? 0 - : this.pool.workerNodes[workerNodeKey]?.usage?.elu?.active?.average ?? 0 + ? this.pool.workerNodes[workerNodeKey].usage.elu.active.median ?? 0 + : this.pool.workerNodes[workerNodeKey].usage.elu.active.average ?? 0 } /** @@ -208,7 +208,7 @@ export abstract class AbstractWorkerChoiceStrategy< */ protected checkNextWorkerNodeEligibility (): void { if (!this.isWorkerNodeEligible(this.nextWorkerNodeKey as number)) { - this.nextWorkerNodeKey = undefined + delete this.nextWorkerNodeKey } }