X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fselection-strategies%2Fabstract-worker-choice-strategy.ts;h=01beb340dad7c59ac0b361f576382a66e42e1b9a;hb=43b84974f72aecd75b4b592e0009359bd5baf228;hp=a6589d09836dc5b48e4a1d7e9a52eb93327bdfb9;hpb=19dbc45b0e2975f938aaae8274902ebe82c48cad;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 a6589d09..01beb340 100644 --- a/src/pools/selection-strategies/abstract-worker-choice-strategy.ts +++ b/src/pools/selection-strategies/abstract-worker-choice-strategy.ts @@ -24,15 +24,10 @@ export abstract class AbstractWorkerChoiceStrategy< Data = unknown, Response = unknown > implements IWorkerChoiceStrategy { - // /** - // * Toggles finding the last free worker node key. - // */ - // private toggleFindLastFreeWorkerNodeKey: boolean = false - /** - * Id of the next worker node. + * The next worker node key. */ - protected nextWorkerNodeId: number = 0 + protected nextWorkerNodeKey: number = 0 /** @inheritDoc */ public readonly strategyPolicy: StrategyPolicy = { @@ -128,24 +123,10 @@ export abstract class AbstractWorkerChoiceStrategy< this.setTaskStatisticsRequirements(this.opts) } - protected workerNodeReady (workerNodeKey: number): boolean { + protected isWorkerNodeReady (workerNodeKey: number): boolean { return this.pool.workerNodes[workerNodeKey].info.ready } - // /** - // * Finds a free worker node key. - // * - // * @returns The free worker node key or `-1` if there is no free worker node. - // */ - // protected findFreeWorkerNodeKey (): number { - // if (this.toggleFindLastFreeWorkerNodeKey) { - // this.toggleFindLastFreeWorkerNodeKey = false - // return this.findLastFreeWorkerNodeKey() - // } - // this.toggleFindLastFreeWorkerNodeKey = true - // return this.findFirstFreeWorkerNodeKey() - // } - /** * Gets the worker task runtime. * If the task statistics require the average runtime, the average runtime is returned. @@ -198,45 +179,4 @@ export abstract class AbstractWorkerChoiceStrategy< } return Math.round(cpusCycleTimeWeight / cpus().length) } - - // /** - // * Finds the first free worker node key based on the number of tasks the worker has applied. - // * - // * If a worker is found with `0` executing tasks, it is detected as free and its worker node key is returned. - // * - // * If no free worker is found, `-1` is returned. - // * - // * @returns A worker node key if there is one, `-1` otherwise. - // */ - // private findFirstFreeWorkerNodeKey (): number { - // return this.pool.workerNodes.findIndex(workerNode => { - // return workerNode.usage.tasks.executing === 0 - // }) - // } - - // /** - // * Finds the last free worker node key based on the number of tasks the worker has applied. - // * - // * If a worker is found with `0` executing tasks, it is detected as free and its worker node key is returned. - // * - // * If no free worker is found, `-1` is returned. - // * - // * @returns A worker node key if there is one, `-1` otherwise. - // */ - // private findLastFreeWorkerNodeKey (): number { - // // It requires node >= 18.0.0: - // // return this.pool.workerNodes.findLastIndex(workerNode => { - // // return workerNode.usage.tasks.executing === 0 - // // }) - // for ( - // let workerNodeKey = this.pool.workerNodes.length - 1; - // workerNodeKey >= 0; - // workerNodeKey-- - // ) { - // if (this.pool.workerNodes[workerNodeKey].usage.tasks.executing === 0) { - // return workerNodeKey - // } - // } - // return -1 - // } }