Skip to main content
The Deno 2 Release Candidate is here
Learn more
Latest
class FairShareWorkerChoiceStrategy
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)

Type Parameters

Worker extends IWorker
optional
Data = unknown
optional
Response = unknown

Properties

readonly
taskStatisticsRequirements: TaskStatisticsRequirements

Methods

private
computeWorkerNodeVirtualTaskEndTimestamp(workerNodeKey: number): number

Computes the worker node key virtual task end timestamp.

private
fairShareNextWorkerNodeKey(): number | undefined
private
getWorkerNodeVirtualTaskEndTimestamp(workerNodeKey: number, workerNodeVirtualTaskStartTimestamp: number): number
private
getWorkerNodeVirtualTaskStartTimestamp(workerNodeKey: number): number
choose(): number | undefined
remove(): boolean
reset(): boolean
update(workerNodeKey: number): boolean