X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Finterfaces%2FIPool.html;h=6296404dc43c8d23a451091e88d0635ea92b0a0e;hb=b9da9d7e74c720f83482a09d1b883fc83d04f4ed;hp=3c6ad18f2bd08808bb6087cf236ca8d602453b9e;hpb=6f0e7f0609e779dbf314d3f1a31660e7d369f591;p=poolifier.git diff --git a/docs/interfaces/IPool.html b/docs/interfaces/IPool.html index 3c6ad18f..6296404d 100644 --- a/docs/interfaces/IPool.html +++ b/docs/interfaces/IPool.html @@ -1,4 +1,4 @@ -IPool | poolifier
+IPool | poolifier - v2.6.37
  • Preparing search index...
  • -
  • The search index is not available
poolifier
+
  • The search index is not available
  • poolifier - v2.6.37
    -
    +
    -

    Interface IPool<Data, Response>

    +

    Interface IPool<Worker, Data, Response>

    Contract definition for a poolifier pool.

    -
    -
    +
    +
    +

    Type Parameters

    -
      +
      • -

        Data = unknown

        -

        Type of data sent to the worker. This can only be serializable data.

        -
      • +

        Worker extends IWorker

        +

        Type of worker which manages this pool.

        +
        +
      • -

        Response = unknown

        -

        Type of response of execution. This can only be serializable data.

        -
    +

    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

      -
    • IPool
    @@ -42,62 +54,194 @@

    Properties

    -
    - -
    emitter?: PoolEmitter
    +
    + +
    destroy: (() => Promise<void>)
    +
    +

    Type declaration

    +
      +
    • +
        +
      • (): Promise<void>
      • +
      • +

        Terminates all workers in this pool.

        +
        +

        Returns Promise<void>

        +
    +
    + +
    emitter?: PoolEmitter

    Emitter on which events can be listened to.

    Events that can currently be listened to:

      -
    • 'busy'
    • +
    • '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 concurrently their tasks quota.
    • +
    • 'full': Emitted when the pool is dynamic and the number of workers created has reached the maximum 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).
    -
    +
    -
    -

    Methods

    -
    - -
    +
    + +
    enableTasksQueue: ((enable, tasksQueueOptions?) => void)
    +
    +

    Type declaration

    +
      +
    • +
        +
      • (enable, tasksQueueOptions?): void
      • -

        Shutdowns every current worker in this pool.

        +

        Enables/disables the worker node tasks queue in this pool.

        -

        Returns Promise<void>

    -
    - -
    +
    + +
    execute: ((data?, name?, transferList?) => Promise<Response>)
    +
    +

    Type declaration

    +
      +
    • +
        +
      • (data?, name?, transferList?): Promise<Response>
      • -

        Performs the task specified in the constructor with the data parameter.

        +

        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
        • +
        • +
          Optional name: string
          +

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

          +
          Optional
        • +
        • +
          Optional transferList: TransferListItem[]
          +

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

          +
          Optional
        +

        Returns Promise<Response>

        Promise that will be fulfilled when the task is completed.

        -

        Returns

        Promise that will be resolved when the task is successfully completed.

        +
    +
    + +
    hasWorkerNodeBackPressure: ((workerNodeKey) => boolean)
    +
    +

    Type declaration

    +
      +
    • +
        +
      • (workerNodeKey): boolean
      • +
      • Internal +

        Whether the worker node has back pressure (i.e. its tasks queue is full).

        Parameters

        • -
          data: Data
          -

          The input for the specified task. This can only be serializable data.

          +
          workerNodeKey: number
          +

          The worker node key.

        -

        Returns Promise<Response>

    -
    - -
      - +
    • Defined in src/pools/pool.ts:204
    +
    + +
    info: PoolInfo
    +

    Pool information.

    +
    +
    +
    + +
    listTaskFunctions: (() => string[])
    +
    +

    Type declaration

    +
      +
    • +
        +
      • (): string[]
      • +
      • +

        Lists the names of task function available in this pool.

        +
        +

        Returns string[]

        The names of task function available in this pool.

        + +
    +
    + +
    setTasksQueueOptions: ((tasksQueueOptions) => void)
    +
    +

    Type declaration

    +
      +
    • +
        +
      • (tasksQueueOptions): void
      • +
      • +

        Sets the worker node tasks queue options in this pool.

        +
        +
        +

        Parameters

        +
        +

        Returns void

        +
    +
    + +
    setWorkerChoiceStrategy: ((workerChoiceStrategy, workerChoiceStrategyOptions?) => void)
    +
    +

    Type declaration

    +
      +
    • +
        +
      • (workerChoiceStrategy, workerChoiceStrategyOptions?): void
      • Sets the worker choice strategy in this pool.

        @@ -105,16 +249,53 @@

        Parameters

        • -
          workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN"
          +
          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.

          +
          Optional
    +

    Returns void

    +
    +
    + +
    setWorkerChoiceStrategyOptions: ((workerChoiceStrategyOptions) => void)
    +
    +

    Type declaration

    +
      +
    • +
        +
      • (workerChoiceStrategyOptions): void
      • +
      • +

        Sets the worker choice strategy options in this pool.

        +
        +
        +

        Parameters

        +
        -

        Returns void

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

    Pool worker nodes.

    +
    +
    - +
    +
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • destroy
  • +
  • emitter
  • +
  • enableTasksQueue
  • +
  • execute
  • +
  • hasWorkerNodeBackPressure
  • +
  • info
  • +
  • listTaskFunctions
  • +
  • setTasksQueueOptions
  • +
  • setWorkerChoiceStrategy
  • +
  • setWorkerChoiceStrategyOptions
  • +
  • workerNodes
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file