X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Finterfaces%2FIPool.html;h=b64725e9908f76f69b5b40cc232538def3381e9d;hb=71d327d5587f0ce2b746ba33ec0cfbb3a0dc5d1b;hp=93f4694004b0290113fc74ab1cb6a676cc29565e;hpb=5decbf239157d04bdf38a642fe2757f565a8d466;p=poolifier.git diff --git a/docs/interfaces/IPool.html b/docs/interfaces/IPool.html index 93f46940..b64725e9 100644 --- a/docs/interfaces/IPool.html +++ b/docs/interfaces/IPool.html @@ -1,13 +1,13 @@ -IPool | poolifier
+IPool | poolifier - v2.7.4
-
+
  • The search index is not available
  • poolifier - v2.7.4 +
    @@ -17,22 +17,26 @@

    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.

    -
  • +

    Type of data sent to the worker. This can only be structured-cloneable data.

    +
    +
  • Response = unknown

    -

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

    -
  • +

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

    +
    +

    Hierarchy

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

    Properties

    +
    + +
    addTaskFunction: ((name, fn) => Promise<boolean>)
    +
    +

    Type declaration

    +
      +
    • +
        +
      • (name, fn): Promise<boolean>
      • +
      • +

        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.

        + +
        +

        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.

        +
    - +
    destroy: (() => Promise<void>)

    Type declaration

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

        Shutdowns every current worker in this pool.

        +

        Terminates all workers in this pool.

        -

        Returns Promise<void>

    +
  • Defined in src/pools/pool.ts:259
  • - -
    emitter?: PoolEmitter
    -

    Emitter on which events can be listened to.

    + +
    emitter?: __module | 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:

      -
    • 'full': Emitted when the pool is dynamic and full.
    • -
    • 'busy': Emitted when the pool is 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).
    -
    +
    +
  • Defined in src/pools/pool.ts:238
  • - +
    enableTasksQueue: ((enable, tasksQueueOptions?) => void)

    Type declaration

    +
  • Defined in src/pools/pool.ts:325
  • - -
    execute: ((data?, name?) => Promise<Response>)
    + +
    execute: ((data?, name?, transferList?) => Promise<Response>)

    Type declaration

    +

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

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

    +
    +
  • Returns Promise<Response>

    Promise that will be fulfilled when the task is completed.

    -
    +
  • Defined in src/pools/pool.ts:247
  • +
    + +
    hasTaskFunction: ((name) => boolean)
    +
    +

    Type declaration

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

    Type declaration

    +
    - +
    info: PoolInfo

    Pool information.

    -
    +
  • Defined in src/pools/pool.ts:209
  • +
    + +
    listTaskFunctionNames: (() => string[])
    +
    +

    Type declaration

    +
    +
    + +
    removeTaskFunction: ((name) => Promise<boolean>)
    +
    +

    Type declaration

    +
    +
    + +
    setDefaultTaskFunction: ((name) => Promise<boolean>)
    +
    +

    Type declaration

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

    Type declaration

    +
  • Defined in src/pools/pool.ts:334
  • - +
    setWorkerChoiceStrategy: ((workerChoiceStrategy, workerChoiceStrategyOptions?) => void)

    Type declaration

    +
  • Optional workerChoiceStrategyOptions: WorkerChoiceStrategyOptions

    The worker choice strategy options.

    -
  • -

    Returns void

    +
  • Defined in src/pools/pool.ts:307
  • - +
    setWorkerChoiceStrategyOptions: ((workerChoiceStrategyOptions) => void)

    Type declaration

    -

    Returns void

    +
    + +
    start: (() => void)
    +
    +

    Type declaration

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

    Pool worker nodes.

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

    On This Page

    +

    On This Page

    +
  • addTaskFunction
  • +
  • destroy
  • +
  • emitter
  • +
  • enableTasksQueue
  • +
  • execute
  • +
  • hasTaskFunction
  • +
  • hasWorkerNodeBackPressure
  • +
  • info
  • +
  • listTaskFunctionNames
  • +
  • removeTaskFunction
  • +
  • setDefaultTaskFunction
  • +
  • setTasksQueueOptions
  • +
  • setWorkerChoiceStrategy
  • +
  • setWorkerChoiceStrategyOptions
  • +
  • start
  • +
  • workerNodes
  • +
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Generated using TypeDoc

    +
    \ No newline at end of file