X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FAbstractPool.html;h=481a0b972d235ba66c39b37347da4d4fcf1cbf87;hb=a630937b6381fc724a7c2c233653fafc8c9dcc90;hp=9f91843924f73526aecc5f9a31b8b6a8ef1f1872;hpb=cd3135e48c6ba3fb7bdfe3da9ac47ad6805e8797;p=poolifier.git diff --git a/docs/classes/AbstractPool.html b/docs/classes/AbstractPool.html index 9f918439..481a0b97 100644 --- a/docs/classes/AbstractPool.html +++ b/docs/classes/AbstractPool.html @@ -1,13 +1,13 @@ -AbstractPool | poolifier - v3.0.9

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

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

addTaskFunction addWorkerNode afterTaskExecutionHook afterWorkerNodeSetup beforeTaskExecutionHook buildTasksQueueOptions -checkAndEmitDynamicWorkerCreationEvents +cannotStealTask +checkAndEmitDynamicWorkerCreationEvents checkAndEmitTaskExecutionEvents checkAndEmitTaskQueuingEvents checkMessageWorkerId -checkNumberOfWorkers +checkMinimumNumberOfWorkers checkPoolOptions +checkPoolType checkValidWorkerChoiceStrategyOptions chooseWorkerNode createAndSetupDynamicWorkerNode createAndSetupWorkerNode -createWorker +createWorkerNode deleteTaskFunctionWorkerUsages dequeueTask deregisterWorkerMessageListener @@ -56,18 +56,18 @@ flushTasksQueue flushTasksQueues getWorkerInfo -getWorkerNodeKeyByWorker getWorkerNodeKeyByWorkerId -handleBackPressureEvent -handleIdleWorkerNodeEvent +handleTask handleTaskExecutionResponse +handleWorkerNodeBackPressureEvent +handleWorkerNodeIdleEvent handleWorkerReadyResponse hasBackPressure hasTaskFunction -hasWorkerNodeBackPressure initializeEventEmitter internalBusy isMain +isWorkerNodeBusy listTaskFunctionNames redistributeQueuedTasks registerOnceWorkerMessageListener @@ -76,7 +76,7 @@ removeWorkerNode resetTaskSequentiallyStolenStatisticsTaskFunctionWorkerUsage resetTaskSequentiallyStolenStatisticsWorkerUsage -sendKillMessageToWorker +sendKillMessageToWorker sendStartupMessageToWorker sendStatisticsMessageToWorker sendTaskFunctionOperationToWorker @@ -90,28 +90,25 @@ setWorkerChoiceStrategy setWorkerChoiceStrategyOptions setupHook -shallCreateDynamicWorker +shallCreateDynamicWorker shallExecuteTask shallUpdateTaskFunctionWorkerUsage start tasksQueueSize unsetTaskStealing unsetTasksStealingOnBackPressure -updateEluWorkerUsage -updateRunTimeWorkerUsage updateTaskSequentiallyStolenStatisticsTaskFunctionWorkerUsage updateTaskSequentiallyStolenStatisticsWorkerUsage -updateTaskStatisticsWorkerUsage updateTaskStolenStatisticsWorkerUsage -updateWaitTimeWorkerUsage workerMessageListener workerNodeStealTask -

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:

      @@ -123,147 +120,140 @@ The async tracking tooling identifier is poolifier:<PoolType>-<Wo
    • '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 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

    Returns void

    Returns void

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file