X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FThreadWorker.html;h=d432e78534adfbf6482a685f243b588ba35a1507;hb=69f8ce0ab8ce1afcf350b21796496b8dcd2aaec1;hp=e90d1519081252311b951ac183d40e05f15c6822;hpb=d0f1dce33156fdb99f0ca3627839001909419497;p=poolifier.git diff --git a/docs/classes/ThreadWorker.html b/docs/classes/ThreadWorker.html index e90d1519..d432e785 100644 --- a/docs/classes/ThreadWorker.html +++ b/docs/classes/ThreadWorker.html @@ -1,83 +1,507 @@ -ThreadWorker | poolifier
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ThreadWorker<Data, Response>

-

A thread worker used by a poolifier ThreadPool.

-

When this worker is inactive for more than the given maxInactiveTime, +ThreadWorker | poolifier

+
+ +
+
+
+
+ +

Class ThreadWorker<Data, Response>

+
+

A thread worker used by a poolifier ThreadPool.

+

When this worker is inactive for more than the given maxInactiveTime, it will send a termination request to its main thread.

If you use a DynamicThreadPool the extra workers that were created will be terminated, but the minimum number of workers will be guaranteed.

-
template DataType

of data this worker receives from pool's execution. This can only be serializable data.

-
template ResponseType

of response the worker sends back to the main thread. This can only be serializable data.

-
author

Alessandro Pio Ardizio

-
since

0.0.1

-

Type parameters

  • Data = unknown

  • Response = unknown

Hierarchy

Index

Constructors

constructor

  • -

    Constructs a new poolifier thread worker.

    -

    Type parameters

    • Data = unknown

    • Response = unknown

    Parameters

    • fn: (data: Data) => Response
      -

      Function processed by the worker when the pool's execution function is invoked.

      -
        • (data: Data): Response
        • Parameters

          • data: Data

          Returns Response

    • opts: WorkerOptions = {}
      -

      Options for the worker.

      -

    Returns ThreadWorker<Data, Response>

Properties

Protected Optional Readonly aliveInterval

aliveInterval?: Timeout
-

Handler Id of the aliveInterval worker alive check.

-

Protected lastTaskTimestamp

lastTaskTimestamp: number
-

Timestamp of the last task processed by this worker.

-

Protected mainWorker

mainWorker: undefined | null | MessagePort

Readonly opts

opts: WorkerOptions = ...

Methods

asyncId

  • asyncId(): number
  • Returns number

    The unique asyncId assigned to the resource.

    -

bind

  • bind<Func>(fn: Func): Func & { asyncResource: AsyncResource }
  • -

    Binds the given function to execute to this AsyncResource's scope.

    -

    The returned function will have an asyncResource property referencing + +

    Author

    Alessandro Pio Ardizio

    + +

    Since

    0.0.1

    +
+
+

Type Parameters

+
    +
  • +

    Data = unknown

    +

    Type of data this worker receives from pool's execution. This can only be serializable data.

    +
  • +
  • +

    Response = unknown

    +

    Type of response the worker sends back to the main thread. This can only be serializable data.

    +
+
+

Hierarchy

+
    +
  • AbstractWorker<MessagePort, Data, Response> +
      +
    • ThreadWorker
+
+
+
+ +
+
+

Constructors

+
+ +
    + +
  • +

    Constructs a new poolifier thread worker.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      Data = unknown

    • +
    • +

      Response = unknown

    +
    +

    Parameters

    +
      +
    • +
      fn: ((data: Data) => Response)
      +

      Function processed by the worker when the pool's execution function is invoked.

      +
      +
        +
      • +
          +
        • (data: Data): Response
        • +
        • +
          +

          Parameters

          +
            +
          • +
            data: Data
          +

          Returns Response

    • +
    • +
      opts: WorkerOptions = {}
      +

      Options for the worker.

      +
    +

    Returns ThreadWorker<Data, Response>

+
+

Properties

+
+ +
aliveInterval?: Timeout
+

Handler Id of the aliveInterval worker alive check.

+
+
+ +
lastTaskTimestamp: number
+

Timestamp of the last task processed by this worker.

+
+
+ +
mainWorker: undefined | null | MessagePort
+
+ + +

Options for the worker.

+
+
+

Methods

+
+ +
    + +
  • +
    +

    Returns

    The unique asyncId assigned to the resource.

    +
    +

    Returns number

+
+ +
    + +
  • +

    Binds the given function to execute to this AsyncResource's scope.

    +

    The returned function will have an asyncResource property referencing the AsyncResource to which the function is bound.

    -
    since

    v14.8.0, v12.19.0

    -

Type parameters

Parameters

Returns Func & { asyncResource: AsyncResource }

Protected checkAlive

  • checkAlive(): void

emitDestroy

  • -

    Call all destroy hooks. This should only ever be called once. An error will + +

    Since

    v14.8.0, v12.19.0

    +
    +
    +

    Type Parameters

    +
      +
    • +

      Func extends ((...args: any[]) => any)

    +
    +

    Parameters

    +
      +
    • +
      fn: Func
      +

      The function to bind to the current AsyncResource.

      +
    +

    Returns Func & {
        asyncResource: AsyncResource;
    }

+
+ +
    + +
  • +

    Checks if the worker should be terminated, because its living too long.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Call all destroy hooks. This should only ever be called once. An error will be thrown if it is called more than once. This must be manually called. If the resource is left to be collected by the GC then the destroy hooks will never be called.

    -

Returns ThreadWorker<Data, Response>

A reference to asyncResource.

-

Protected getMainWorker

Protected handleError

Protected run

Protected runAsync

runInAsyncScope

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +

Type parameters

Parameters

Returns Result

Protected sendToMainWorker

triggerAsyncId

Static bind

+
+ +
+
+ +
+
+ +

Generated using TypeDoc

\ No newline at end of file + +

Since

v14.8.0, v12.19.0

+ +
+

Type Parameters

+
+
+

Parameters

+
+

Returns Func & {
    asyncResource: AsyncResource;
}

+ +
+

Generated using TypeDoc

+
\ No newline at end of file