X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fselection-strategies%2Fleast-used-worker-choice-strategy.ts;h=1ee6b7b8aeaf646488c20f7222e0a8fc45a27f7e;hb=884743b122a66be45c94d83d9230e28a9ab43836;hp=5e8a09b42b86aae9e6b59e8ac77322b8705d890f;hpb=39618ede0e08d380c1ac82005bcc2ab1f3c227b6;p=poolifier.git diff --git a/src/pools/selection-strategies/least-used-worker-choice-strategy.ts b/src/pools/selection-strategies/least-used-worker-choice-strategy.ts index 5e8a09b4..1ee6b7b8 100644 --- a/src/pools/selection-strategies/least-used-worker-choice-strategy.ts +++ b/src/pools/selection-strategies/least-used-worker-choice-strategy.ts @@ -3,12 +3,11 @@ import type { IWorker } from '../worker.js' import { AbstractWorkerChoiceStrategy } from './abstract-worker-choice-strategy.js' import type { IWorkerChoiceStrategy, - WorkerChoiceStrategyOptions + WorkerChoiceStrategyOptions, } from './selection-strategies-types.js' /** * Selects the least used worker. - * * @typeParam Worker - Type of worker which manages the strategy. * @typeParam Data - Type of data sent to the worker. This can only be structured-cloneable data. * @typeParam Response - Type of execution response. This can only be structured-cloneable data. @@ -54,11 +53,8 @@ export class LeastUsedWorkerChoiceStrategy< return this.pool.workerNodes.reduce( (minWorkerNodeKey, workerNode, workerNodeKey, workerNodes) => { return this.isWorkerNodeReady(workerNodeKey) && - workerNode.usage.tasks.executed + - workerNode.usage.tasks.executing + - workerNode.usage.tasks.queued < - workerNodes[minWorkerNodeKey].usage.tasks.executed + - workerNodes[minWorkerNodeKey].usage.tasks.executing + + workerNode.usage.tasks.executing + workerNode.usage.tasks.queued < + workerNodes[minWorkerNodeKey].usage.tasks.executing + workerNodes[minWorkerNodeKey].usage.tasks.queued ? workerNodeKey : minWorkerNodeKey