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 structured-cloneable data.

  • Response = unknown

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

Hierarchy

  • IPool

Implemented by

Properties

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

Type declaration

    • (): Promise<void>
    • Terminates 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 the number of workers created has reached the maximum size expected.
  • 'ready': Emitted when the number of workers created in the pool has reached the minimum size expected and are ready.
  • 'busy': Emitted when the number of workers created in the pool has reached the maximum size expected and are executing at least one task.
  • 'error': Emitted when an uncaught error occurs.
  • 'taskError': Emitted when an error occurs while executing a task.
enableTasksQueue: ((enable, tasksQueueOptions?) => void)

Type declaration

    • (enable, tasksQueueOptions?): void
    • Enables/disables the worker tasks queue in this pool.

      Parameters

      • enable: boolean

        Whether to enable or disable the worker tasks queue.

      • Optional tasksQueueOptions: TasksQueueOptions

        The worker tasks queue options.

      Returns void

execute: ((data?, name?) => Promise<Response>)

Type declaration

    • (data?, name?): Promise<Response>
    • Executes the specified function in the worker constructor with the task data input parameter.

      Parameters

      • Optional data: Data

        The task input data for the specified worker function. This can only be structured-cloneable data.

      • Optional name: string

        The name of the worker function to execute. If not specified, the default worker function will be executed.

      Returns Promise<Response>

      Promise that will be fulfilled when the task is completed.

info: PoolInfo

Pool information.

setTasksQueueOptions: ((tasksQueueOptions) => void)

Type declaration

    • (tasksQueueOptions): void
    • Sets the worker tasks queue options in this pool.

      Parameters

      Returns void

setWorkerChoiceStrategy: ((workerChoiceStrategy, workerChoiceStrategyOptions?) => void)

Type declaration

    • (workerChoiceStrategy, workerChoiceStrategyOptions?): void
    • Sets the worker choice strategy in this pool.

      Parameters

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

        The worker choice strategy.

      • Optional workerChoiceStrategyOptions: WorkerChoiceStrategyOptions

        The worker choice strategy options.

      Returns void

setWorkerChoiceStrategyOptions: ((workerChoiceStrategyOptions) => void)

Type declaration

    • (workerChoiceStrategyOptions): void
    • Sets the worker choice strategy options in this pool.

      Parameters

      Returns void

workerNodes: IWorkerNode<Worker, Data>[]

Pool worker nodes.

Generated using TypeDoc