X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fselection-strategies%2Fselection-strategies-utils.ts;h=10c93335ea98cd1c3b019addb88603ed2749672e;hb=c923ce5670eeae4194aa996d44a1071e88cb21ad;hp=4c0fea61ef05a4ebb398a396c580bfe9d0afa084;hpb=38e795c12f0e9daeff7b025147f36f85f486366e;p=poolifier.git diff --git a/src/pools/selection-strategies/selection-strategies-utils.ts b/src/pools/selection-strategies/selection-strategies-utils.ts index 4c0fea61..10c93335 100644 --- a/src/pools/selection-strategies/selection-strategies-utils.ts +++ b/src/pools/selection-strategies/selection-strategies-utils.ts @@ -1,7 +1,8 @@ import type { IPoolInternal } from '../pool-internal' import type { IPoolWorker } from '../pool-worker' import { FairShareWorkerChoiceStrategy } from './fair-share-worker-choice-strategy' -import { LessRecentlyUsedWorkerChoiceStrategy } from './less-recently-used-worker-choice-strategy' +import { LessBusyWorkerChoiceStrategy } from './less-busy-worker-choice-strategy' +import { LessUsedWorkerChoiceStrategy } from './less-used-worker-choice-strategy' import { RoundRobinWorkerChoiceStrategy } from './round-robin-worker-choice-strategy' import type { IWorkerChoiceStrategy, @@ -24,16 +25,20 @@ export function getWorkerChoiceStrategy< > ( pool: IPoolInternal, workerChoiceStrategy: WorkerChoiceStrategy = WorkerChoiceStrategies.ROUND_ROBIN -): IWorkerChoiceStrategy { +): IWorkerChoiceStrategy { switch (workerChoiceStrategy) { case WorkerChoiceStrategies.ROUND_ROBIN: - return new RoundRobinWorkerChoiceStrategy(pool) - case WorkerChoiceStrategies.LESS_RECENTLY_USED: - return new LessRecentlyUsedWorkerChoiceStrategy(pool) + return new RoundRobinWorkerChoiceStrategy(pool) + case WorkerChoiceStrategies.LESS_USED: + return new LessUsedWorkerChoiceStrategy(pool) + case WorkerChoiceStrategies.LESS_BUSY: + return new LessBusyWorkerChoiceStrategy(pool) case WorkerChoiceStrategies.FAIR_SHARE: - return new FairShareWorkerChoiceStrategy(pool) + return new FairShareWorkerChoiceStrategy(pool) case WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN: - return new WeightedRoundRobinWorkerChoiceStrategy(pool) + return new WeightedRoundRobinWorkerChoiceStrategy( + pool + ) default: throw new Error( // eslint-disable-next-line @typescript-eslint/restrict-template-expressions