X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fselection-strategies%2Fless-used-worker-choice-strategy.ts;h=364c54a1d3b5d6d0a5a1c853221a247c15cdd1fa;hb=8b4d450024ef06de939fa82f9746b005696914c0;hp=c83a012b313eaa80cee0999bb49c200cce0ad769;hpb=bf90656cacf88d2cfdd5b3262086ba55b2ff9818;p=poolifier.git diff --git a/src/pools/selection-strategies/less-used-worker-choice-strategy.ts b/src/pools/selection-strategies/less-used-worker-choice-strategy.ts index c83a012b..364c54a1 100644 --- a/src/pools/selection-strategies/less-used-worker-choice-strategy.ts +++ b/src/pools/selection-strategies/less-used-worker-choice-strategy.ts @@ -11,27 +11,27 @@ import type { IWorkerChoiceStrategy } from './selection-strategies-types' */ export class LessUsedWorkerChoiceStrategy< Worker extends IPoolWorker, - Data, - Response + Data = unknown, + Response = unknown > extends AbstractWorkerChoiceStrategy implements IWorkerChoiceStrategy { - /** {@inheritDoc} */ + /** @inheritDoc */ public reset (): boolean { return true } - /** {@inheritDoc} */ + /** @inheritDoc */ public choose (): number { const freeWorkerKey = this.pool.findFreeWorkerKey() - if (!this.isDynamicPool && freeWorkerKey !== -1) { + if (freeWorkerKey !== -1) { return freeWorkerKey } let minNumberOfTasks = Infinity let lessUsedWorkerKey!: number for (const [index, workerItem] of this.pool.workers.entries()) { const tasksUsage = workerItem.tasksUsage - const workerTasks = tasksUsage?.run + tasksUsage?.running + const workerTasks = tasksUsage.run + tasksUsage.running if (workerTasks === 0) { return index } else if (workerTasks < minNumberOfTasks) { @@ -42,7 +42,7 @@ export class LessUsedWorkerChoiceStrategy< return lessUsedWorkerKey } - /** {@inheritDoc} */ + /** @inheritDoc */ public remove (workerKey: number): boolean { return true }