X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Finterfaces%2FIPool.html;h=b314d771a729005b972e962e4556c3111b8d5b84;hb=d655c2c2b159a39f900230c14b301ba123653362;hp=e6efa97ac08bdfa80927dc12ba3482016eb0a280;hpb=67ff85c0f9bf4f18372728327fc5373f17d9e13a;p=poolifier.git diff --git a/docs/interfaces/IPool.html b/docs/interfaces/IPool.html index e6efa97a..b314d771 100644 --- a/docs/interfaces/IPool.html +++ b/docs/interfaces/IPool.html @@ -1,4 +1,4 @@ -IPool | poolifier
+IPool | 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
@@ -44,8 +52,14 @@

Properties

Properties

@@ -63,29 +77,56 @@

Returns Promise<void>

+
  • Defined in src/pools/pool.ts:161
  • 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.
    +
  • Defined in src/pools/pool.ts:140
  • +
    + +
    enableTasksQueue: ((enable: boolean, tasksQueueOptions?: TasksQueueOptions) => void)
    +
    +

    Type declaration

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

        Enables/disables the worker tasks queue in this pool.

        +
        +
        +

        Parameters

        +
          +
        • +
          enable: boolean
          +

          Whether to enable or disable the worker tasks queue.

          +
        • +
        • +
          Optional tasksQueueOptions: TasksQueueOptions
          +

          The worker tasks queue options.

          +
        +

        Returns void

    -
    execute: ((data: Data) => Promise<Response>)
    +
    execute: ((data: Data) => Promise<Response>)

    Type declaration

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

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

        +

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

        Returns

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

        @@ -93,21 +134,62 @@

        Parameters

        • -
          data: Data
          +
          data: Data

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

        -

        Returns Promise<Response>

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

    +
  • Defined in src/pools/pool.ts:195
  • -
    setWorkerChoiceStrategy: ((workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN") => void)
    +
    setWorkerChoiceStrategy: ((workerChoiceStrategy: "ROUND_ROBIN" | "LESS_USED" | "LESS_BUSY" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN", workerChoiceStrategyOptions?: WorkerChoiceStrategyOptions) => void)

    Type declaration

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

        @@ -115,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