X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FDynamicClusterPool.html;h=817410613c4a8ae7d63427dcd779dc8b55718d31;hb=b4d61a7596f314145be453ddbcaa9b0dade39bfb;hp=80576199ce10c7c89f64b236a836a750f5a942bd;hpb=a76fac14098cf2138cf8d6997ac7c89d8c3ae508;p=poolifier.git diff --git a/docs/classes/DynamicClusterPool.html b/docs/classes/DynamicClusterPool.html index 80576199..81741061 100644 --- a/docs/classes/DynamicClusterPool.html +++ b/docs/classes/DynamicClusterPool.html @@ -1,11 +1,13 @@ DynamicClusterPool | poolifier
-
+
@@ -18,10 +20,6 @@

This cluster pool creates new workers when the others are busy, up to the maximum number of workers. When the maximum number of workers is reached, an event is emitted. If you want to listen to this event, use the pool's emitter.

-

Template

of data sent to the worker. This can only be serializable data.

- -

Template

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

-

Author

Christopher Quadflieg

Since

2.0.0

@@ -30,9 +28,13 @@ When the maximum number of workers is reached, an event is emitted. If you want

Type Parameters

  • -

    Data = unknown

  • +

    Data = unknown

    +

    Type of data sent to the worker. This can only be serializable data.

    +
  • -

    Response = unknown

+

Response = unknown

+

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

+

Hierarchy

    @@ -40,7 +42,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
    • DynamicClusterPool
+
  • Defined in src/pools/cluster/dynamic.ts:16
  • @@ -54,12 +56,10 @@ When the maximum number of workers is reached, an event is emitted. If you want

    Properties

    @@ -71,19 +71,16 @@ When the maximum number of workers is reached, an event is emitted. If you want

    Methods

    -
    afterWorkerSetup +
    afterPromiseResponseHook +afterWorkerSetup +beforePromiseResponseHook chooseWorker createAndSetupWorker createWorker -decreaseWorkersTasks destroy destroyWorker execute -findFreeWorker -getWorkerIndex -getWorkerRunningTasks -increaseWorkersTask -internalExecute +findFreeWorkerKey internalGetBusyStatus isMain registerWorkerMessageListener @@ -98,7 +95,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
      - +
    • Constructs a new poolifier dynamic cluster pool.

      @@ -125,78 +122,67 @@ When the maximum number of workers is reached, an event is emitted. If you want

      Path to an implementation of a ClusterWorker file, which can be relative or absolute.

    • -
      Optional opts: ClusterPoolOptions = {}
      +
      opts: ClusterPoolOptions = {}

      Options for this dynamic cluster pool.

    Returns DynamicClusterPool<Data, Response>

    +
  • Defined in src/pools/cluster/dynamic.ts:28
  • Properties

    -
    emitter?: PoolEmitter
    -
    -

    Inherit Doc

    +
  • Defined in src/pools/abstract-pool.ts:32
  • -
    filePath: string
    -
    - +
  • Defined in src/pools/abstract-pool.ts:67
  • +
    +
    max: number
    -
    -

    Inherit Doc

    -
    - -
    nextMessageId: number = 0
    -

    Id of the next message.

    +

    Maximum number of workers that can be created by this pool.

    +
  • Defined in src/pools/cluster/dynamic.ts:30
  • -
    numberOfWorkers: number
    +
  • Defined in src/pools/abstract-pool.ts:66
  • -
    -
    - -
    promiseMap: Map<number, PromiseWorkerResponseWrapper<Worker, Response>> = ...
    -

    The promise map.

    +
  • Defined in src/pools/cluster/fixed.ts:53
  • +
    + +
    promiseResponseMap: Map<string, PromiseResponseWrapper<Worker, Response>> = ...
    +

    The promise response map.

      -
    • key: This is the message Id of each submitted task.
    • -
    • value: An object that contains the worker, the resolve function and the reject function.
    • +
    • key: The message id of each submitted task.
    • +
    • value: An object that contains the worker, the promise resolve and reject callbacks.
    -

    When we receive a message from the worker we get a map entry and resolve/reject the promise based on the message.

    +

    When we receive a message from the worker we get a map entry with the promise resolve/reject bound to the message.

    -
    - -
    tasks: Map<Worker, number> = ...
    -
    -

    Inherit Doc

    +
  • Defined in src/pools/abstract-pool.ts:42
  • workerChoiceStrategyContext: WorkerChoiceStrategyContext<Worker, Data, Response>
    @@ -205,15 +191,15 @@ When the maximum number of workers is reached, an event is emitted. If you want
    +
  • Defined in src/pools/abstract-pool.ts:52
  • -
    workers: Worker[] = []
    -
    -

    Inherit Doc

    +
  • Defined in src/pools/abstract-pool.ts:29
  • Accessors

    @@ -221,43 +207,66 @@ When the maximum number of workers is reached, an event is emitted. If you want
    +
  • Defined in src/pools/cluster/dynamic.ts:43
  • +
  • Defined in src/pools/abstract-pool.ts:141
  • +
  • Defined in src/pools/cluster/dynamic.ts:38
  • Methods

    +
    + +
      + +
    • +

      Hook executed after the worker task promise resolution. +Can be overridden.

      +
      +
      +

      Parameters

      +
        +
      • +
        worker: Worker
        +

        The worker.

        +
      • +
      • +
        message: MessageValue<Response, unknown>
        +

        The received message.

        +
      +

      Returns void

    +
  • Defined in src/pools/cluster/fixed.ts:93
  • +
    + +
    +
  • Defined in src/pools/abstract-pool.ts:289
  • +
  • Defined in src/pools/abstract-pool.ts:334
  • -
    - -
    +
  • Defined in src/pools/cluster/fixed.ts:88
  • +
  • Defined in src/pools/abstract-pool.ts:207
  • +
  • Defined in src/pools/cluster/fixed.ts:69
  • -
    - -
    -
    - -
    -
    - +
  • Defined in src/pools/abstract-pool.ts:192
  • +
    +
    -
    - -
    -
    - -
    +
  • Defined in src/pools/abstract-pool.ts:185
  • +
  • Defined in src/pools/abstract-pool.ts:177
  • +
  • Defined in src/pools/cluster/fixed.ts:64
  • Returns void

    +
  • Defined in src/pools/abstract-pool.ts:276
  • +
  • Defined in src/pools/cluster/fixed.ts:75
  • Returns void

    +
  • Defined in src/pools/abstract-pool.ts:156
  • +
  • Defined in src/pools/cluster/fixed.ts:59
  • +
  • Defined in src/pools/abstract-pool.ts:363