X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Finterfaces%2FIPool.html;h=551e2459c9b4dd02f3b838d5ee9df371e602539c;hb=405b39c2835f645e2193dc30c3d190e3dcf3bc3e;hp=8b60c1e4aeee71c3c9d66cd0de8d2dc7394a7f69;hpb=b8450a656d007edd200fdf785563d3a268bc09c6;p=poolifier.git diff --git a/docs/interfaces/IPool.html b/docs/interfaces/IPool.html index 8b60c1e4..551e2459 100644 --- a/docs/interfaces/IPool.html +++ b/docs/interfaces/IPool.html @@ -1,14 +1,13 @@ -IPool | poolifier - v3.1.9

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

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

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

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

    +

    Type declaration

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

    Type declaration

    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

    hasTaskFunction: ((name) => boolean)

    Type declaration

    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

    hasWorkerNodeBackPressure: ((workerNodeKey) => boolean)

    Type declaration

    info: PoolInfo

    Pool information.

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

    Type declaration

    Param: name

    The name of the task function.

    +

    Returns

    true if the task function exists, false otherwise.

    +
    info: PoolInfo

    Pool information.

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

    Lists the names of task function available in this pool.

    +

    Type declaration

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

    Type declaration

    Returns

    The names of task function available in this pool.

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

    Removes a task function from this pool.

    +

    Type declaration

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

    Type declaration

    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

    setTasksQueueOptions: ((tasksQueueOptions) => void)

    Type declaration

    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

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

    Type declaration

    Returns void

    Param: tasksQueueOptions

    The worker node tasks queue options.

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

    Sets the worker choice strategy in this pool.

    +

    Type declaration

    setWorkerChoiceStrategyOptions: ((workerChoiceStrategyOptions) => void)

    Type declaration

    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

    start: (() => void)

    Type declaration

    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

    workerNodes: IWorkerNode<Worker, Data>[]

    Pool worker nodes.

    +

    Generated using TypeDoc

    \ No newline at end of file