Interface IPool<Worker, Data, Response>

Contract definition for a poolifier pool.

Type Parameters

  • Worker extends IWorker

    Type of worker which manages this pool.

  • Data = unknown

    Type of data sent to the worker. This can only be serializable data.

  • Response = unknown

    Type of response of execution. This can only be serializable data.

Hierarchy

  • IPool

Implemented by

Properties

busy: boolean

Whether the pool is busy or not.

The pool busyness boolean status.

destroy: (() => Promise<void>)

Type declaration

    • (): Promise<void>
    • Shutdowns every current worker in this pool.

      Returns Promise<void>

emitter?: PoolEmitter

Emitter on which events can be listened to.

Events that can currently be listened to:

  • 'full': Emitted when the pool is dynamic and full.
  • 'busy': Emitted when the pool is busy.
execute: ((data: Data) => Promise<Response>)

Type declaration

    • (data: Data): Promise<Response>
    • Performs the task specified in the constructor with the data parameter.

      Returns

      Promise that will be resolved when the task is successfully completed.

      Parameters

      • data: Data

        The input for the specified task. This can only be serializable data.

      Returns Promise<Response>

findFreeWorkerNodeKey: (() => number)

Type declaration

    • (): number
    • Finds a free worker node key based on the number of tasks the worker has applied.

      If a worker is found with 0 running 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.

      Returns number

full: boolean

Whether the pool is full or not.

The pool filling boolean status.

setWorkerChoiceStrategy: ((workerChoiceStrategy: "ROUND_ROBIN" | "LESS_USED" | "LESS_BUSY" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN") => void)

Type declaration

    • (workerChoiceStrategy: "ROUND_ROBIN" | "LESS_USED" | "LESS_BUSY" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN"): void
    • Sets the worker choice strategy in this pool.

      Parameters

      • workerChoiceStrategy: "ROUND_ROBIN" | "LESS_USED" | "LESS_BUSY" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN"

        The worker choice strategy.

      Returns void

type: PoolType

Pool type.

If it is 'dynamic', it provides the max property.

workerNodes: WorkerNode<Worker, Data>[]

Pool worker nodes.

Generated using TypeDoc