X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FAbstractPool.html;h=8b279fef929856d2c4c298f1a55104b348cb44ad;hb=0e16e60a89029abe61cda7ba293c036298cced05;hp=334f2756d4189b62ec40ee6912936f0cd1321a75;hpb=70353024c44987c467dadcec306c699ce4ae1f06;p=poolifier.git diff --git a/docs/classes/AbstractPool.html b/docs/classes/AbstractPool.html index 334f2756..8b279fef 100644 --- a/docs/classes/AbstractPool.html +++ b/docs/classes/AbstractPool.html @@ -1,4 +1,4 @@ -AbstractPool | poolifier
+AbstractPool | poolifier - v2.6.26
  • Preparing search index...
  • -
  • The search index is not available
poolifier
+
  • The search index is not available
  • poolifier - v2.6.26
    @@ -17,22 +17,26 @@

    Class AbstractPool<Worker, Data, Response>Abstract

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

    -
    +
    +

    Type Parameters

    +

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

    +
    +

    Hierarchy

    +
  • Defined in src/pools/abstract-pool.ts:56
  • @@ -53,76 +57,96 @@

    Constructors

    -

    Properties

    -

    Accessors

    -

    Methods

    -
    afterTaskExecutionHook -afterWorkerSetup -beforeTaskExecutionHook -buildTasksQueueOptions -checkAndEmitEvents -checkFilePath -checkNumberOfWorkers -checkPoolOptions -checkValidTasksQueueOptions -checkValidWorkerChoiceStrategy -checkValidWorkerChoiceStrategyOptions -chooseWorkerNode -createAndSetupWorker -createWorker -dequeueTask -destroy -destroyWorker -enableTasksQueue -enqueueTask -execute -executeTask -flushTasksQueue -flushTasksQueues -getWorkerNodeKey -internalBusy -isMain -pushWorkerNode -registerWorkerMessageListener -removeWorkerNode -sendToWorker -setTasksQueueOptions -setWorkerChoiceStrategy -setWorkerChoiceStrategyOptions -setWorkerNode -setWorkerNodeTasksUsage -setupHook -tasksQueueSize -updateRunTimeTasksUsage -updateWaitTimeTasksUsage -workerListener +

    Constructors

    - +
      - +
    • Constructs a new poolifier pool.

      @@ -130,7 +154,7 @@

      Type Parameters

      • -

        Worker extends IWorker<Worker>

      • +

        Worker extends IWorker

      • Data = unknown

      • @@ -141,156 +165,253 @@
      • numberOfWorkers: number

        Number of workers that this pool should manage.

        -
      • + +
      • filePath: string

        Path to the worker file.

        -
      • + +
      • opts: PoolOptions<Worker>

        Options for the pool.

        -
      -

      Returns AbstractPool<Worker, Data, Response>

    +

    Returns AbstractPool<Worker, Data, Response>

    +
    +
  • Defined in src/pools/abstract-pool.ts:107
  • Properties

    - +
    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 full.
    • -
    • 'busy': Emitted when the pool is busy.
    • -
    • 'error': Emitted when an error occurs.
    • +
    • '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.
    -
    -
    - +
  • Defined in src/pools/abstract-pool.ts:65
  • +
    +
    filePath: string

    Path to the worker file.

    -
    -
    - +
  • Defined in src/pools/abstract-pool.ts:109
  • +
    +
    numberOfWorkers: number

    Number of workers that this pool should manage.

    -
    -
    - +
  • Defined in src/pools/abstract-pool.ts:108
  • +
    +
    opts: PoolOptions<Worker>

    Options for the pool.

    -
    +
  • Defined in src/pools/abstract-pool.ts:110
  • - -
    promiseResponseMap: Map<string, PromiseResponseWrapper<Worker, Response>> = ...
    -

    The execution response promise map.

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

    -
    +
    +
  • Defined in src/pools/abstract-pool.ts:75
  • +
    + +
    startTimestamp: number
    +

    The start timestamp of the pool.

    +
    +
    +
    + +
    starting: boolean
    +

    Whether the pool is starting or not.

    +
    +
    +
    + +
    taskFunctions: string[]
    +

    The task function names.

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

    Worker choice strategy context referencing a worker choice algorithm implementation.

    -

    Default to a round robin algorithm.

    -
    +
  • Defined in src/pools/abstract-pool.ts:81
  • - -
    workerNodes: WorkerNode<Worker, Data>[] = []
    + +
    workerNodes: IWorkerNode<Worker, Data>[] = []

    Pool worker nodes.

    -
    +
  • Defined in src/pools/abstract-pool.ts:62
  • Accessors

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

      The pool busyness boolean status.

      -

      Returns boolean

    +
  • Defined in src/pools/abstract-pool.ts:622
  • - +
    -
    - -
    +
    + +
    -
    - -
    +
    + +
    -
    - -
    +
    + +
    -
    - -
    +
    + +
    +
    + +
    +
    + +
    +
  • Defined in src/pools/abstract-pool.ts:468
  • +
    + +

    Methods

    +
    + +
    - +
      - +
    • Hook executed after the worker task execution. Can be overridden.

      @@ -299,38 +420,43 @@ Can be overridden.

      Parameters

      • -
        worker: Worker
        -

        The worker.

        -
      • +
        workerNodeKey: number
        +

        The worker node key.

        +
        +
      • -
        message: MessageValue<Response, Worker | MessagePort>
        +
        message: MessageValue<Response, unknown>

        The received message.

        -
      -

      Returns void

    +

    Returns void

    +
    -
    - +
  • Defined in src/pools/abstract-pool.ts:792
  • +
    +
      - +
    • -

      Function that can be hooked up when a worker has been newly created and moved to the pool worker nodes.

      -

      Can be used to update the maxListeners or binding the main-worker<->worker connection if not bind by default.

      +

      Method hooked up after a worker node has been newly created. +Can be overridden.

      Parameters

      • -
        worker: Worker
        -

        The newly created worker.

        -
      -

      Returns void

    +

    Returns void

    +
    +
  • Defined in src/pools/abstract-pool.ts:1025
  • - + -

    Returns void

    +
  • Defined in src/pools/abstract-pool.ts:771
  • - +

    Returns TasksQueueOptions

    +
  • Defined in src/pools/abstract-pool.ts:600
  • - +
    +
  • Defined in src/pools/abstract-pool.ts:1162
  • +
    + +
    - +

    Returns void

    +
  • Defined in src/pools/abstract-pool.ts:149
  • +
    + +
    - +

    Returns void

    +
  • Defined in src/pools/abstract-pool.ts:162
  • - +

    Returns void

    +
  • Defined in src/pools/abstract-pool.ts:206
  • - +

    Returns void

    +
  • Defined in src/pools/abstract-pool.ts:271
  • - +

    Returns void

    +
  • Defined in src/pools/abstract-pool.ts:233
  • - +

    Returns void

    -
    - -
    +
    + +
    -
    - +
  • Defined in src/pools/abstract-pool.ts:886
  • +
    +
    +
  • Defined in src/pools/abstract-pool.ts:972
  • +
    + +
    - +
    +
  • Defined in src/pools/abstract-pool.ts:925
  • - +

    Returns undefined | Task<Data>

    +
  • Defined in src/pools/abstract-pool.ts:1232
  • - +
    -
    - +
  • Defined in src/pools/abstract-pool.ts:718
  • +
    + +

    Returns Promise<void>

    +
    +
  • Defined in src/pools/abstract-pool.ts:747
  • - + -

    Returns void

    +
  • Defined in src/pools/abstract-pool.ts:578
  • - +

    Returns number

    +
  • Defined in src/pools/abstract-pool.ts:1228
  • - +

    Returns Promise<Response>

    Promise that will be fulfilled when the task is completed.

    -
    +
  • Defined in src/pools/abstract-pool.ts:659
  • - + +

    Returns void

    +
    -
    - -
    +
    + +

    Returns void

    +
  • Defined in src/pools/abstract-pool.ts:1240
  • - +
    -
    - +
  • Defined in src/pools/abstract-pool.ts:1250
  • +
    + +
    +
    + -

    Returns number

    The worker node key if the worker is found in the pool worker nodes, -1 otherwise.

    -
    +
    + +
    +
  • Defined in src/pools/abstract-pool.ts:541
  • +
    + +
    +
    + +
    - +
    +
  • Defined in src/pools/abstract-pool.ts:629
  • - +
    -
    - -
    +
    + +
    +
    + + +

    Returns void

    +
  • Defined in src/pools/abstract-pool.ts:1059
  • - +

    Returns void

    -

    Returns void

    +
  • Defined in src/pools/abstract-pool.ts:1012
  • - + -

    Returns void

    +
  • Defined in src/pools/abstract-pool.ts:1209
  • +
    + +
    +
    + +
    +
    + +
    - + +

    Returns void

    +
    +
  • Defined in src/pools/abstract-pool.ts:914
  • - + -

    Returns void

    +
  • Defined in src/pools/abstract-pool.ts:590
  • - + +

    Returns void

    +
    +
  • Defined in src/pools/abstract-pool.ts:548
  • - + -

    Returns void

    -
    - +
  • Defined in src/pools/abstract-pool.ts:567
  • +
    + +
    +
    +
    +
    + +
    +
    + + +

    Returns number

    -
    - +
  • Defined in src/pools/abstract-pool.ts:1236
  • +
    +

    Returns void

    -
    - -
    -
    - +
  • Defined in src/pools/abstract-pool.ts:847
  • +
    + +

    Returns void

    -
    - +
  • Defined in src/pools/abstract-pool.ts:821
  • +
    +

    Returns void

    -
    - +
  • Defined in src/pools/abstract-pool.ts:808
  • +
    +

    Returns void

    +
  • Defined in src/pools/abstract-pool.ts:833
  • - +
    +
  • Defined in src/pools/abstract-pool.ts:1108
  • +
  • constructor
  • +
  • emitter
  • +
  • filePath
  • +
  • numberOfWorkers
  • +
  • opts
  • +
  • promiseResponseMap
  • +
  • startTimestamp
  • +
  • starting
  • +
  • taskFunctions
  • +
  • workerChoiceStrategyContext
  • +
  • workerNodes
  • +
  • busy
  • +
  • full
  • +
  • info
  • +
  • maxSize
  • +
  • minSize
  • +
  • ready
  • +
  • type
  • +
  • utilization
  • +
  • worker
  • +
  • addWorkerNode
  • +
  • afterTaskExecutionHook
  • +
  • afterWorkerNodeSetup
  • +
  • beforeTaskExecutionHook
  • +
  • buildTasksQueueOptions
  • +
  • checkAndEmitEvents
  • +
  • checkDynamicPoolSize
  • +
  • checkFilePath
  • +
  • checkMessageWorkerId
  • +
  • checkNumberOfWorkers
  • +
  • checkPoolOptions
  • +
  • checkValidTasksQueueOptions
  • +
  • checkValidWorkerChoiceStrategy
  • +
  • checkValidWorkerChoiceStrategyOptions
  • +
  • chooseWorkerNode
  • +
  • createAndSetupDynamicWorkerNode
  • +
  • createAndSetupWorkerNode
  • +
  • createWorker
  • +
  • dequeueTask
  • +
  • destroy
  • +
  • destroyWorkerNode
  • +
  • enableTasksQueue
  • +
  • enqueueTask
  • +
  • execute
  • +
  • executeTask
  • +
  • flushTasksQueue
  • +
  • flushTasksQueues
  • +
  • getWorkerInfo
  • +
  • getWorkerNodeKeyByWorker
  • +
  • getWorkerNodeKeyByWorkerId
  • +
  • handleTaskExecutionResponse
  • +
  • handleWorkerReadyResponse
  • +
  • internalBusy
  • +
  • isMain
  • +
  • listTaskFunctions
  • +
  • redistributeQueuedTasks
  • +
  • registerWorkerMessageListener
  • +
  • removeWorkerNode
  • +
  • sendKillMessageToWorker
  • +
  • sendStartupMessageToWorker
  • +
  • sendStatisticsMessageToWorker
  • +
  • sendToWorker
  • +
  • setTasksQueueOptions
  • +
  • setWorkerChoiceStrategy
  • +
  • setWorkerChoiceStrategyOptions
  • +
  • setupHook
  • +
  • shallCreateDynamicWorker
  • +
  • startPool
  • +
  • tasksQueueSize
  • +
  • updateEluWorkerUsage
  • +
  • updateRunTimeWorkerUsage
  • +
  • updateTaskStatisticsWorkerUsage
  • +
  • updateWaitTimeWorkerUsage
  • +
  • workerListener
  • +
  • AbstractPool
  • +
  • AbstractWorker
  • +
  • CircularArray
  • +
  • ClusterWorker
  • +
  • DynamicClusterPool
  • +
  • DynamicThreadPool
  • +
  • FixedClusterPool
  • +
  • FixedThreadPool
  • +
  • PoolEmitter
  • +
  • Queue
  • +
  • ThreadWorker
  • +
  • WorkerChoiceStrategyContext
  • +
  • ClusterPoolOptions
  • +
  • EventLoopUtilizationMeasurementStatistics
  • +
  • IPool
  • +
  • IWorker
  • +
  • IWorkerChoiceStrategy
  • +
  • IWorkerNode
  • +
  • MeasurementOptions
  • +
  • MeasurementStatistics
  • +
  • MeasurementStatisticsRequirements
  • +
  • MessageValue
  • +
  • PoolInfo
  • +
  • PoolOptions
  • +
  • PromiseResponseWrapper
  • +
  • StrategyPolicy
  • +
  • Task
  • +
  • TaskError
  • +
  • TaskPerformance
  • +
  • TaskStatistics
  • +
  • TaskStatisticsRequirements
  • +
  • TasksQueueOptions
  • +
  • ThreadPoolOptions
  • +
  • WorkerChoiceStrategyOptions
  • +
  • WorkerInfo
  • +
  • WorkerOptions
  • +
  • WorkerStatistics
  • +
  • WorkerUsage
  • +
  • ErrorHandler
  • +
  • ExitHandler
  • +
  • KillBehavior
  • +
  • KillHandler
  • +
  • Measurement
  • +
  • MessageHandler
  • +
  • OnlineHandler
  • +
  • PoolEvent
  • +
  • PoolType
  • +
  • TaskAsyncFunction
  • +
  • TaskFunction
  • +
  • TaskFunctions
  • +
  • TaskSyncFunction
  • +
  • WorkerChoiceStrategy
  • +
  • WorkerType
  • +
  • KillBehaviors
  • +
  • Measurements
  • +
  • PoolEvents
  • +
  • PoolTypes
  • +
  • WorkerChoiceStrategies
  • +
  • WorkerTypes
  • +
  • availableParallelism
  • Generated using TypeDoc

    \ No newline at end of file