X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FAbstractPool.html;h=dba596d85a644fd9df7ebaef2167facb56fdd450;hb=a50b8288d0696296711df883b0199c51e804917b;hp=41502380b060465b43bb65da06ce5275c9c698b9;hpb=a8121a374142573fd761d5dd112d5f91ed1b618f;p=poolifier.git diff --git a/docs/classes/AbstractPool.html b/docs/classes/AbstractPool.html index 41502380..dba596d8 100644 --- a/docs/classes/AbstractPool.html +++ b/docs/classes/AbstractPool.html @@ -1,13 +1,13 @@ -AbstractPool | poolifier - v3.1.6

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.19

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

Properties

Accessors

Methods

Constructors

  • Constructs a new poolifier pool.

    -

    Type Parameters

    • Worker extends IWorker

    • Data = unknown

    • Response = unknown

    Parameters

    • numberOfWorkers: number

      Number of workers that this pool should manage.

      +

Constructors

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. +

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

    -
    max?: number

    Dynamic pool maximum size property placeholder.

    -
    numberOfWorkers: number

    Number of workers that this pool should manage.

    -
    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