Class WorkerChoiceStrategiesContext<Worker, Data, Response>

The worker choice strategies context.

Type Parameters

  • Worker extends IWorker

    Type of worker.

  • Data = unknown

    Type of data sent to the worker. This can only be structured-cloneable data.

  • Response = unknown

    Type of execution response. This can only be structured-cloneable data.

Constructors

Properties

defaultWorkerChoiceStrategy: "ROUND_ROBIN" | "LEAST_USED" | "LEAST_BUSY" | "LEAST_ELU" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN" | "INTERLEAVED_WEIGHTED_ROUND_ROBIN"

The default worker choice strategy in the context.

The pool instance.

retries: number

The maximum number of worker choice strategies execution retries.

retriesCount: number

The number of worker choice strategies execution retries.

workerChoiceStrategies: Map<"ROUND_ROBIN" | "LEAST_USED" | "LEAST_BUSY" | "LEAST_ELU" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN" | "INTERLEAVED_WEIGHTED_ROUND_ROBIN", IWorkerChoiceStrategy>

The worker choice strategies registered in the context.

workerChoiceStrategiesPolicy: StrategyPolicy

The active worker choice strategies in the context policy.

workerChoiceStrategiesTaskStatisticsRequirements: TaskStatisticsRequirements

The active worker choice strategies in the context task statistics requirements.

Methods

  • Adds a worker choice strategy to the context.

    Parameters

    • workerChoiceStrategy: "ROUND_ROBIN" | "LEAST_USED" | "LEAST_BUSY" | "LEAST_ELU" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN" | "INTERLEAVED_WEIGHTED_ROUND_ROBIN"

      The worker choice strategy to add.

    • pool: IPool<Worker, Data, Response>
    • Optional opts: WorkerChoiceStrategyOptions

      The worker choice strategy options.

    Returns Map<"ROUND_ROBIN" | "LEAST_USED" | "LEAST_BUSY" | "LEAST_ELU" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN" | "INTERLEAVED_WEIGHTED_ROUND_ROBIN", IWorkerChoiceStrategy>

    The worker choice strategies.

  • Executes the given worker choice strategy in the context algorithm.

    Parameters

    • workerChoiceStrategy: "ROUND_ROBIN" | "LEAST_USED" | "LEAST_BUSY" | "LEAST_ELU" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN" | "INTERLEAVED_WEIGHTED_ROUND_ROBIN" = ...

      The worker choice strategy algorithm to execute.

    Returns number

    The key of the worker node.

    Default Value

    this.defaultWorkerChoiceStrategy
    

    Throws

    https://nodejs.org/api/errors.html#class-error If after computed retries the worker node key is null or undefined.

  • Removes a worker choice strategy from the context.

    Parameters

    • workerChoiceStrategy: "ROUND_ROBIN" | "LEAST_USED" | "LEAST_BUSY" | "LEAST_ELU" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN" | "INTERLEAVED_WEIGHTED_ROUND_ROBIN"

      The worker choice strategy to remove.

    Returns boolean

    true if the worker choice strategy is removed, false otherwise.

  • Sets the default worker choice strategy to use in the context.

    Parameters

    • workerChoiceStrategy: "ROUND_ROBIN" | "LEAST_USED" | "LEAST_BUSY" | "LEAST_ELU" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN" | "INTERLEAVED_WEIGHTED_ROUND_ROBIN"

      The default worker choice strategy to set.

    • Optional opts: WorkerChoiceStrategyOptions

      The worker choice strategy options.

    Returns void

  • Synchronizes the active worker choice strategies in the context with the given worker choice strategies.

    Parameters

    • workerChoiceStrategies: Set<"ROUND_ROBIN" | "LEAST_USED" | "LEAST_BUSY" | "LEAST_ELU" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN" | "INTERLEAVED_WEIGHTED_ROUND_ROBIN">

      The worker choice strategies to synchronize.

    • Optional opts: WorkerChoiceStrategyOptions

      The worker choice strategy options.

    Returns void