X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Finterfaces%2FIPool.html;h=91f0bf3049273c245a0a0abcdbeab013faef3301;hb=9aa78bcb34d9d6002c71ce3de1ece85dd164871f;hp=b64725e9908f76f69b5b40cc232538def3381e9d;hpb=71d327d5587f0ce2b746ba33ec0cfbb3a0dc5d1b;p=poolifier.git diff --git a/docs/interfaces/IPool.html b/docs/interfaces/IPool.html index b64725e9..91f0bf30 100644 --- a/docs/interfaces/IPool.html +++ b/docs/interfaces/IPool.html @@ -1,60 +1,8 @@ -IPool | poolifier - v2.7.4
-
- -
-
-
-
- -

Interface IPool<Worker, Data, Response>

-
-

Contract definition for a poolifier pool.

-
-
-
-

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

-
    -
  • IPool
-
-

Implemented by

-
-
-
-
- -
-
-

Properties

-
addTaskFunction +IPool | poolifier - v3.0.11

Interface IPool<Worker, Data, Response>

Contract definition for a poolifier pool.

+
interface IPool {
    addTaskFunction: ((name, fn) => Promise<boolean>);
    destroy: (() => Promise<void>);
    emitter?: EventEmitterAsyncResource;
    enableTasksQueue: ((enable, tasksQueueOptions?) => void);
    execute: ((data?, name?, transferList?) => Promise<Response>);
    hasTaskFunction: ((name) => boolean);
    hasWorkerNodeBackPressure: ((workerNodeKey) => boolean);
    info: PoolInfo;
    listTaskFunctionNames: (() => string[]);
    removeTaskFunction: ((name) => Promise<boolean>);
    setDefaultTaskFunction: ((name) => Promise<boolean>);
    setTasksQueueOptions: ((tasksQueueOptions) => void);
    setWorkerChoiceStrategy: ((workerChoiceStrategy, workerChoiceStrategyOptions?) => void);
    setWorkerChoiceStrategyOptions: ((workerChoiceStrategyOptions) => void);
    start: (() => void);
    workerNodes: IWorkerNode<Worker, Data>[];
}

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.

    +

Implemented by

-
-

Properties

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

Type declaration

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

      Adds a task function to this pool. +

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.

      - +

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

      Terminates all workers in this pool.

      -
      -

      Returns Promise<void>

      -
-
- -
emitter?: __module | EventEmitterAsyncResource
-

Event emitter integrated with async resource on which events can be listened to. +

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

Type declaration

    • (): Promise<void>
    • Terminates all workers in this pool.

      +

      Returns Promise<void>

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:

    @@ -139,360 +38,36 @@ 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).
-
-
-
- -
enableTasksQueue: ((enable, tasksQueueOptions?) => void)
-
-

Type declaration

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

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

      -
      -
      -

      Parameters

      -
        -
      • -
        enable: boolean
        -

        Whether to enable or disable the worker node tasks queue.

        -
        -
      • -
      • -
        Optional tasksQueueOptions: TasksQueueOptions
        -

        The worker node tasks queue options.

        -
        -
      -

      Returns void

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

Type declaration

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

      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 name: string
        -

        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.

      - -
-
- -
hasTaskFunction: ((name) => boolean)
-
-

Type declaration

-
    -
  • -
      -
    • (name): boolean
    • -
    • -

      Whether the specified task function exists in this pool.

      -
      -
      -

      Parameters

      -
        -
      • -
        name: string
        -

        The name of the task function.

        -
        -
      -

      Returns boolean

      true if the task function exists, false otherwise.

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

Type declaration

-
    -
  • -
      -
    • (workerNodeKey): boolean
    • -
    • Internal -

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

      -
      -
      -

      Parameters

      -
        -
      • -
        workerNodeKey: number
        -

        The worker node key.

        -
        -
      -

      Returns boolean

      true if the worker node has back pressure, false otherwise.

      - -
-
- -
info: PoolInfo
-

Pool information.

-
-
-
- -
listTaskFunctionNames: (() => 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.

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

Type declaration

-
    -
  • -
      -
    • (name): Promise<boolean>
    • -
    • -

      Removes a task function from this pool.

      -
      -
      -

      Parameters

      -
        -
      • -
        name: string
        -

        The name of the task function.

        -
        -
      -

      Returns Promise<boolean>

      true if the task function was removed, false otherwise.

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

Type declaration

-
    -
  • -
      -
    • (name): Promise<boolean>
    • -
    • -

      Sets the default task function in this pool.

      -
      -
      -

      Parameters

      -
        -
      • -
        name: string
        -

        The name of the task function.

        -
        -
      -

      Returns Promise<boolean>

      true if the default task function was set, false otherwise.

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

      -
      -
      -

      Parameters

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

        -
        -
      -

      Returns void

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

Type declaration

-
    -
  • -
      -
    • (workerChoiceStrategyOptions): void
    • -
    • -

      Sets the worker choice strategy options in this pool.

      -
      -
      -

      Parameters

      -
      -

      Returns void

      -
-
- -
start: (() => void)
-
-

Type declaration

-
    -
  • -
      -
    • (): void
    • -
    • -

      Starts the minimum number of workers in this pool.

      -
      -

      Returns void

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

Pool worker nodes.

-
-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file +
enableTasksQueue: ((enable, tasksQueueOptions?) => void)

Type declaration

    • (enable, tasksQueueOptions?): void
    • Enables/disables the worker node tasks queue in this pool.

      +

      Parameters

      • enable: boolean

        Whether to enable or disable the worker node tasks queue.

        +
      • Optional tasksQueueOptions: TasksQueueOptions

        The worker node tasks queue options.

        +

      Returns void

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

Type declaration

    • (data?, name?, transferList?): Promise<Response>
    • 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 name: string

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

      +
hasTaskFunction: ((name) => boolean)

Type declaration

    • (name): boolean
    • Whether the specified task function exists in this pool.

      +

      Parameters

      • name: string

        The name of the task function.

        +

      Returns boolean

      true if the task function exists, false otherwise.

      +
hasWorkerNodeBackPressure: ((workerNodeKey) => boolean)

Type declaration

    • (workerNodeKey): boolean
    • Internal

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

      +

      Parameters

      • workerNodeKey: number

        The worker node key.

        +

      Returns boolean

      true if the worker node has back pressure, false otherwise.

      +
info: PoolInfo

Pool information.

+
listTaskFunctionNames: (() => 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.

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

Type declaration

    • (name): Promise<boolean>
    • Removes a task function from this pool.

      +

      Parameters

      • name: string

        The name of the task function.

        +

      Returns Promise<boolean>

      true if the task function was removed, false otherwise.

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

Type declaration

    • (name): Promise<boolean>
    • Sets the default task function in this pool.

      +

      Parameters

      • name: string

        The name of the task function.

        +

      Returns Promise<boolean>

      true if the default task function was set, false otherwise.

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

      +

      Parameters

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

        +

      Returns void

setWorkerChoiceStrategyOptions: ((workerChoiceStrategyOptions) => void)

Type declaration

    • (workerChoiceStrategyOptions): void
    • Sets the worker choice strategy options in this pool.

      +

      Parameters

      Returns void

start: (() => void)

Type declaration

    • (): void
    • Starts the minimum number of workers in this pool.

      +

      Returns void

workerNodes: IWorkerNode<Worker, Data>[]

Pool worker nodes.

+

Generated using TypeDoc

\ No newline at end of file