X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Finterfaces%2FIPool.html;h=e47007644f326d0f597368c00ba04242c6cce985;hb=761b0c73be0bf581f50a78123913f933bd405f52;hp=001e5789d57f65a4b14c07c8b9715bb446760017;hpb=3aaed019abde0022e986c1db05db9d5d7bc76594;p=poolifier.git diff --git a/docs/interfaces/IPool.html b/docs/interfaces/IPool.html index 001e5789..e4700764 100644 --- a/docs/interfaces/IPool.html +++ b/docs/interfaces/IPool.html @@ -1,4 +1,4 @@ -IPool | poolifier
+IPool | poolifier
  • Preparing search index...
  • -
  • The search index is not available
poolifier
+
  • The search index is not available
  • poolifier
    -
    +
    -

    Interface IPool<Data, Response>

    +

    Interface IPool<Worker, Data, Response>

    Contract definition for a poolifier pool.

    @@ -22,19 +22,27 @@

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

    • Response = unknown

      -

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

      +

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

    Hierarchy

      -
    • IPool
    @@ -42,62 +50,146 @@

    Properties

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

    Type declaration

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

        Shutdowns every current worker in this pool.

        +
        +

        Returns Promise<void>

    - +
    emitter?: PoolEmitter

    Emitter on which events can be listened to.

    Events that can currently be listened to:

      -
    • 'busy'
    • +
    • 'full': Emitted when the pool is dynamic and full.
    • +
    • 'busy': Emitted when the pool is busy.
    -
    -

    Methods

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

    Type declaration

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

        Shutdowns every current worker in this pool.

        +

        Enables/disables the worker tasks queue in this pool.

        -

        Returns Promise<void>

    -
    +
  • Defined in src/pools/pool.ts:188
  • +
    -
      - +
      execute: ((data?: Data) => Promise<Response>)
      +
      +

      Type declaration

      +
        +
      • +
          +
        • (data?: Data): Promise<Response>
        • -

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

          +

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

          -

          Returns

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

          +

          Returns

          Promise that will be fulfilled when the task is completed.

          Parameters

          • -
            data: Data
            -

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

            +
            Optional data: Data
            +

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

          -

          Returns Promise<Response>

    -
    +
  • Defined in src/pools/pool.ts:159
  • +
    + +
    findFreeWorkerNodeKey: (() => number)
    +
    +

    Type declaration

    +
      +
    • +
        +
      • (): number
      • +
      • +

        Finds a free worker node key based on the number of tasks the worker has applied.

        +

        If a worker is found with 0 running tasks, it is detected as free and its worker node key is returned.

        +

        If no free worker is found, -1 is returned.

        + +

        Returns

        A worker node key if there is one, -1 otherwise.

        +
        +

        Returns number

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

    Type declaration

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

        Sets the worker tasks queue options in this pool.

        +
        +
        +

        Parameters

        +
        +

        Returns void

    +
    -
      - +
      setWorkerChoiceStrategy: ((workerChoiceStrategy: "ROUND_ROBIN" | "LESS_USED" | "LESS_BUSY" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN", workerChoiceStrategyOptions?: WorkerChoiceStrategyOptions) => void)
      +
      +

      Type declaration

      +
        +
      • +
          +
        • (workerChoiceStrategy: "ROUND_ROBIN" | "LESS_USED" | "LESS_BUSY" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN", workerChoiceStrategyOptions?: WorkerChoiceStrategyOptions): void
        • Sets the worker choice strategy in this pool.

          @@ -105,16 +197,58 @@

          Parameters

          • -
            workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN"
            +
            workerChoiceStrategy: "ROUND_ROBIN" | "LESS_USED" | "LESS_BUSY" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN"

            The worker choice strategy.

            +
          • +
          • +
            Optional workerChoiceStrategyOptions: WorkerChoiceStrategyOptions
            +

            The worker choice strategy options.

            +
      +

      Returns void

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

    Type declaration

    +
      +
    • +
    - +
    +
    -
    +
  • destroy
  • +
  • emitter
  • +
  • enableTasksQueue
  • +
  • execute
  • +
  • findFreeWorkerNodeKey
  • +
  • setTasksQueueOptions
  • +
  • setWorkerChoiceStrategy
  • +
  • setWorkerChoiceStrategyOptions
  • +
  • type
  • +
  • workerNodes
  • + +

    Generated using TypeDoc

    -
    \ No newline at end of file +
    \ No newline at end of file