class FairShareWorkerChoiceStrategy
implements IWorkerChoiceStrategy
import { FairShareWorkerChoiceStrategy } from "https://deno.land/x/poolifier@v0.3.14/src/pools/selection-strategies/fair-share-worker-choice-strategy.ts";
Selects the next worker with a fair share scheduling algorithm. Loosely modeled after the fair queueing algorithm: https://en.wikipedia.org/wiki/Fair_queuing.
Constructors
new
FairShareWorkerChoiceStrategy(pool: IPool<Worker, Data, Response>, opts?: WorkerChoiceStrategyOptions)Properties
readonly
taskStatisticsRequirements: TaskStatisticsRequirementsMethods
private
computeWorkerNodeVirtualTaskEndTimestamp(workerNodeKey: number): numberComputes the worker node key virtual task end timestamp.
private
getWorkerNodeVirtualTaskEndTimestamp(workerNodeKey: number, workerNodeVirtualTaskStartTimestamp: number): numberprivate
getWorkerNodeVirtualTaskStartTimestamp(workerNodeKey: number): numberchoose(): number | undefined
remove(): boolean
reset(): boolean
update(workerNodeKey: number): boolean