X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Finterfaces%2FIPool.html;h=6cdc34d5284cf0f148ce0f03bbad7b9e2fef92ed;hb=62a7baffdaf232cdaaf94b918c9b8ef43b6bfbb8;hp=4250db86e69237e714a317b703f51e88c515e38c;hpb=238a6a36482b3cf82d1f984f0bdd7d296a2f4ba1;p=poolifier.git diff --git a/docs/interfaces/IPool.html b/docs/interfaces/IPool.html index 4250db86..6cdc34d5 100644 --- a/docs/interfaces/IPool.html +++ b/docs/interfaces/IPool.html @@ -1,8 +1,8 @@ -IPool | poolifier - v3.1.12

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 +IPool | poolifier - v3.1.14

Interface IPool<Worker, Data, Response>

Contract definition for a poolifier pool.

+
interface IPool<Worker, Data, Response> {
    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>)

Adds a task function to this pool. +If a task function with the same name already exists, it will be overwritten.

+

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.

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

    emitter?: EventEmitterAsyncResource

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

    Param: name

    The name of the task function.

    +

    Param: fn

    The task function.

    +

    Returns

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

    Terminates all workers in this pool.

    +

    Type declaration

    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:

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

    Type declaration

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

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

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

    +

    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.

          +

        Returns void

    Param: enable

    Whether to enable or disable the worker node tasks queue.

    +

    Param: tasksQueueOptions

    The worker node tasks queue options.

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

    Executes the specified function in the worker constructor with the task data input parameter.

    +

    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.

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

    +

    Param: data

    The optional task input data for the specified task function. This can only be structured-cloneable data.

    +

    Param: name

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

    +

    Param: transferList

    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 that will be fulfilled when the task is completed.

    +
    hasTaskFunction: ((name) => boolean)

    Whether the specified task function exists in this pool.

    +

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

        +

    Param: name

    The name of the task function.

    +

    Returns

    true if the task function exists, false otherwise.

    +
    hasWorkerNodeBackPressure: ((workerNodeKey) => boolean)

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

    +

    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.

        +

    Param: workerNodeKey

    The worker node key.

    +

    Returns

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

    +
    info: PoolInfo

    Pool information.

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

    Lists the names of task function available in this pool.

    +

    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.

        +

    Returns

    The names of task function available in this pool.

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

    Removes a task function from this pool.

    +

    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.

        +

    Returns Promise<boolean>

    true if the task function was removed, false otherwise.

    +

    Param: name

    The name of the task function.

    +

    Returns

    true if the task function was removed, false otherwise.

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

    Sets the default task function in this pool.

    +

    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.

        +

    Returns Promise<boolean>

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

    +

    Param: name

    The name of the task function.

    +

    Returns

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

    +
    setTasksQueueOptions: ((tasksQueueOptions) => void)

    Sets the worker node tasks queue options in this pool.

    +

    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.

        +

    Returns void

    Param: tasksQueueOptions

    The worker node tasks queue options.

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

    Sets the worker choice strategy in this pool.

    +

    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.

        +

    Returns void

    Param: workerChoiceStrategy

    The worker choice strategy.

    +

    Param: workerChoiceStrategyOptions

    The worker choice strategy options.

    +
    setWorkerChoiceStrategyOptions: ((workerChoiceStrategyOptions) => void)

    Sets the worker choice strategy options in this pool.

    +

    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 +

    Returns void

    Param: workerChoiceStrategyOptions

    The worker choice strategy options.

    +
    start: (() => void)

    Starts the minimum number of workers in this pool.

    +

    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