X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FAbstractPool.html;h=c3d367e6ddb13642dabcf2d56733df30095faf69;hb=405b39c2835f645e2193dc30c3d190e3dcf3bc3e;hp=c3f142851fb1ec78848253517471b56adcde0b20;hpb=54a050e93b47b8404861c70c07cee7da66a9ec72;p=poolifier.git diff --git a/docs/classes/AbstractPool.html b/docs/classes/AbstractPool.html index c3f14285..c3d367e6 100644 --- a/docs/classes/AbstractPool.html +++ b/docs/classes/AbstractPool.html @@ -1,8 +1,8 @@ -AbstractPool | poolifier - v3.1.10

Class AbstractPool<Worker, Data, Response>Abstract

Base class that implements some shared logic for all poolifier pools.

-

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

Implements

  • IPool<Worker, Data, Response>

Constructors

constructor +AbstractPool | poolifier - v3.1.21

Class AbstractPool<Worker, Data, Response>Abstract

Base class that implements some shared logic for all poolifier pools.

+

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

Implements

Constructors

  • Constructs a new poolifier pool.

    -

    Type Parameters

    • Worker extends IWorker

    • Data = unknown

    • Response = unknown

    Parameters

    • minimumNumberOfWorkers: number

      Minimum number of workers that this pool manages.

      +

Constructors

  • Constructs a new poolifier pool.

    +

    Type Parameters

    • Worker extends IWorker

    • Data = unknown

    • Response = unknown

    Parameters

    • minimumNumberOfWorkers: number

      Minimum number of workers that this pool manages.

    • filePath: string

      Path to the worker file.

      -
    • opts: PoolOptions<Worker>

      Options for the pool.

      +
    • opts: PoolOptions<Worker>

      Options for the pool.

    • Optional maximumNumberOfWorkers: number

      Maximum number of workers that this pool manages.

      -

    Returns AbstractPool<Worker, Data, Response>

Properties

destroying: boolean

Whether the pool is destroying or not.

-
emitter?: EventEmitterAsyncResource

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

Returns AbstractPool<Worker, Data, Response>

Properties

destroying: boolean

Whether the pool is destroying or not.

+
emitter?: EventEmitterAsyncResource

Event emitter integrated with async resource on which events can be listened to. 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.

+

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.

-
readyEventEmitted: boolean

Whether the pool ready event has been emitted or not.

-
startTimestamp: number

The start timestamp of the pool.

-
started: boolean

Whether the pool is started or not.

-
starting: boolean

Whether the pool is starting or not.

-
taskFunctions: Map<string, TaskFunction<Data, Response>>

The task functions added at runtime map:

+
readyEventEmitted: boolean

Whether the pool ready event has been emitted or not.

+
startTimestamp: number

The start timestamp of the pool.

+
started: boolean

Whether the pool is started or not.

+
starting: boolean

Whether the pool is starting or not.

+
taskFunctions: Map<string, TaskFunction<Data, Response>>

The task functions added at runtime map:

  • key: The task function name.
  • value: The task function itself.
-
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 type(): "fixed" | "dynamic"
  • The pool type.

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

    -

    Returns "fixed" | "dynamic"

Methods

Methods

  • Adds a task function to this pool. If a task function with the same name already exists, it will be overwritten.

    Parameters

    • name: string

      The name of the task function.

      -
    • fn: TaskFunction<Data, Response>

      The task function.

      -

    Returns Promise<boolean>

    true if the task function was added, false otherwise.

    +
  • fn: TaskFunction<Data, Response>

    The task function.

    +
  • Returns Promise<boolean>

    true if the task function was added, false otherwise.

    Throws

    https://nodejs.org/api/errors.html#class-typeerror If the name parameter is not a string or an empty string.

    Throws

    https://nodejs.org/api/errors.html#class-typeerror If the fn parameter is not a function.

    -

    Returns void

    Returns void

    Returns void

    Returns Promise<void>

    Returns Promise<Response>

    Promise that will be fulfilled when the task is completed.

    +

    Returns void

    Returns undefined | WorkerInfo

    The worker information.

    +

    Returns void

    Returns Promise<boolean>

    true if the task function was removed, false otherwise.

    +

    Returns void

    Returns void

    Returns void

    Returns Promise<boolean>

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

    +

    Returns void

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file