X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FFixedThreadPool.html;h=8044ae9aa5fd439252c310b30d3cae5e1960f89f;hb=a9fc134421fb6926f4eff76d1d82c9bd8b341606;hp=dfc4e91717bcb66d1c7fb792423403f94ee75927;hpb=36df30dda213f05b2b33841fdf913098957fe675;p=poolifier.git diff --git a/docs/classes/FixedThreadPool.html b/docs/classes/FixedThreadPool.html index dfc4e917..8044ae9a 100644 --- a/docs/classes/FixedThreadPool.html +++ b/docs/classes/FixedThreadPool.html @@ -1,172 +1,140 @@ -FixedThreadPool | poolifier - v3.1.17

Class FixedThreadPool<Data, Response>

A thread pool with a fixed number of threads.

+FixedThreadPool | poolifier - v3.1.29

Class FixedThreadPool<Data, Response>

A thread pool with a fixed number of threads.

Author

Alessandro Pio Ardizio

Since

0.0.1

-

Type Parameters

  • 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 (view full)

Constructors

Properties

emitter?: EventEmitterAsyncResource

Event emitter integrated with async resource on which events can be listened to. +

Type Parameters

  • 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 (view full)

Constructors

Properties

emitter?: EventEmitterAsyncResource

Pool event emitter integrated with async resource. The async tracking tooling identifier is poolifier:<PoolType>-<WorkerType>-pool.

Events that can currently be listened to:

    -
  • 'ready': Emitted when the number of workers created in the pool has reached the minimum size expected and are ready.
  • +
  • 'ready': Emitted when the number of workers created in the pool has reached the minimum size expected and are ready. If the pool is dynamic with a minimum number of workers is set to zero, this event is emitted when at least one dynamic worker is ready.
  • 'busy': Emitted when the number of workers created in the pool has reached the maximum size expected and are executing concurrently their tasks quota.
  • 'full': Emitted when the pool is dynamic and the number of workers created has reached the maximum size expected.
  • +
  • 'empty': Emitted when the pool is dynamic with a minimum number of workers set to zero and the number of workers has reached the minimum size expected.
  • 'destroy': Emitted when the pool is destroyed.
  • 'error': Emitted when an uncaught error occurs.
  • 'taskError': Emitted when an error occurs while executing a task.
  • 'backPressure': Emitted when all worker nodes have back pressure (i.e. their tasks queue is full: queue size >= maximum queue size).
-
filePath: string

Path to the worker file.

-
maximumNumberOfWorkers?: number

Maximum number of workers that this pool manages.

-
minimumNumberOfWorkers: number

Minimum number of workers that this pool manages.

-
opts: PoolOptions<Worker>

Options for the pool.

-
promiseResponseMap: Map<string, PromiseResponseWrapper<Response>> = ...

The task execution response promise map:

+
filePath: string

Path to the worker file.

+
maximumNumberOfWorkers?: number

Maximum number of workers that this pool manages.

+
minimumNumberOfWorkers: number

Minimum number of workers that this pool manages.

+
opts: PoolOptions<Worker>

Options for the pool.

+
promiseResponseMap: Map<string, PromiseResponseWrapper<Response>> = ...

The task execution response promise map:

  • key: The message id of each submitted task.
  • value: An object that contains the worker, the execution response promise resolve and reject callbacks.

When we receive a message from the worker, we get a map entry with the promise resolve/reject bound to the message id.

-
workerChoiceStrategyContext?: WorkerChoiceStrategyContext<Worker, Data, Response>

Worker choice strategy context referencing a worker choice algorithm implementation.

-
workerNodes: IWorkerNode<Worker, Data>[] = []

Pool worker nodes.

-

Accessors

workerChoiceStrategyContext?: WorkerChoiceStrategyContext<Worker, Data, Response>

Worker choice strategy context referencing a worker choice algorithm implementation.

+
workerNodes: IWorkerNode<Worker, Data>[] = []

Pool worker nodes.

+

Accessors

  • get busy(): boolean
  • Whether the pool is busy or not.

    The pool busyness boolean status.

    -

    Returns boolean

  • get full(): boolean
  • Whether the pool is full or not.

    The pool filling boolean status.

    -

    Returns boolean

  • get type(): "fixed" | "dynamic"
  • The pool type.

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

    -

    Returns "fixed" | "dynamic"

  • get utilization(): number
  • The approximate pool utilization.

    +

    Returns "fixed" | "dynamic"

  • get utilization(): number
  • The approximate pool utilization.

    Returns number

    The pool utilization.

    -
  • get worker(): "thread" | "cluster"
  • The worker type.

    -

    Returns "thread" | "cluster"

Methods

  • Hook executed after the worker task execution. +

  • get worker(): "thread" | "cluster"
  • The worker type.

    +

    Returns "thread" | "cluster"

Methods

  • Executes the specified function in the worker constructor with the task data input parameter.

    -

    Parameters

    • Optional data: Data

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

      -
    • Optional name: string

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

      -
    • Optional transferList: TransferListItem[]

      An optional array of transferable objects to transfer ownership of. Ownership of the transferred objects is given to the chosen pool's worker_threads worker and they should not be used in the main thread afterwards.

      -

    Returns Promise<Response>

    Promise that will be fulfilled when the task is completed.

    -
  • Whether the specified task function exists in this pool.

    -

    Parameters

    • name: string

      The name of the task function.

      -

    Returns boolean

    true if the task function exists, false otherwise.

    -
  • Removes a task function from this pool.

    -

    Parameters

    • name: string

      The name of the task function.

      -

    Returns Promise<boolean>

    true if the task function was removed, false otherwise.

    -
  • Sends a message to worker given its worker node key.

    -

    Parameters

    • workerNodeKey: number

      The worker node key.

      -
    • message: MessageValue<Data, unknown>

      The message.

      -
    • Optional transferList: TransferListItem[]

      The optional array of transferable objects.

      -

    Returns void

  • Sets the default task function in this pool.

    -

    Parameters

    • name: string

      The name of the task function.

      -

    Returns Promise<boolean>

    true if the default task function was set, false otherwise.

    -
  • 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

  • Sends a message to worker given its worker node key.

    +

    Parameters

    • workerNodeKey: number

      The worker node key.

      +
    • message: MessageValue<Data, unknown>

      The message.

      +
    • Optional transferList: TransferListItem[]

      The optional array of transferable objects.

      +

    Returns void

Generated using TypeDoc

\ No newline at end of file +

Generated using TypeDoc

\ No newline at end of file