X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FAbstractWorker.html;h=960f1b1b6ee52ab3994755910e93bc43c9f1468b;hb=e39450c0889208d6dcde666fc05b95fe7a98ee29;hp=8ff6b37495773eb2811905ebe267944f6f1751db;hpb=d0f1dce33156fdb99f0ca3627839001909419497;p=poolifier.git diff --git a/docs/classes/AbstractWorker.html b/docs/classes/AbstractWorker.html index 8ff6b374..960f1b1b 100644 --- a/docs/classes/AbstractWorker.html +++ b/docs/classes/AbstractWorker.html @@ -1,91 +1,608 @@ -AbstractWorker | poolifier
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class AbstractWorker<MainWorker, Data, Response>

-

Base class containing some shared logic for all poolifier workers.

-

Type parameters

  • MainWorker: Worker | MessagePort

    -

    Type of main worker.

    -
  • 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 worker. This can only be serializable data.

    -

Hierarchy

Index

Constructors

constructor

  • new AbstractWorker<MainWorker, Data, Response>(type: string, isMain: boolean, fn: (data: Data) => Response, mainWorker: undefined | null | MainWorker, opts?: WorkerOptions): AbstractWorker<MainWorker, Data, Response>
  • -

    Constructs a new poolifier worker.

    -

    Type parameters

    • MainWorker: Worker | MessagePort

    • Data = unknown

    • Response = unknown

    Parameters

    • type: string
      -

      The type of async event.

      -
    • isMain: boolean
      -

      Whether this is the main worker or not.

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

    • mainWorker: undefined | null | MainWorker
      -

      Reference to main worker.

      -
    • opts: WorkerOptions = ...
      -

      Options for the worker.

      -

    Returns AbstractWorker<MainWorker, 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 | MainWorker

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

    +
    + +
    +
    +
    +
    + +

    Class AbstractWorker<MainWorker, Data, Response>Abstract

    +
    +

    Base class that implements some shared logic for all poolifier workers.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      MainWorker extends Worker | MessagePort

      +

      Type of main worker.

      +
    • +
    • +

      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 worker. This can only be serializable data.

      +
    +
    +

    Hierarchy

    +
    +
    +
    +
    + +
    +
    +

    Constructors

    +
    + +
      + +
    • +

      Constructs a new poolifier worker.

      +
      +
      +

      Type Parameters

      +
        +
      • +

        MainWorker extends Worker | MessagePort

      • +
      • +

        Data = unknown

      • +
      • +

        Response = unknown

      +
      +

      Parameters

      +
        +
      • +
        type: string
        +

        The type of async event.

        +
      • +
      • +
        isMain: boolean
        +

        Whether this is the main worker or not.

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

      • +
      • +
        mainWorker: undefined | null | MainWorker
        +

        Reference to main worker.

        +
      • +
      • +
        opts: WorkerOptions = ...
        +

        Options for the worker.

        +
      +

      Returns AbstractWorker<MainWorker, Data, Response>

    +
    +

    Properties

    +
    + +
    aliveInterval?: Timeout
    +

    Handler id of the aliveInterval worker alive check.

    +
    +
    + +
    isMain: boolean
    +

    Whether this is the main worker or not.

    +
    +
    + +
    lastTaskTimestamp: number
    +

    Timestamp of the last task processed by this worker.

    +
    +
    + +
    mainWorker: undefined | null | MainWorker
    +

    Reference to main worker.

    +
    +
    + +
    opts: WorkerOptions = ...
    +

    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

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

    Parameters

    • fn: Func
      -

      The function to bind to the current AsyncResource.

      -

    Returns Func & { asyncResource: AsyncResource }

Protected checkAlive

  • checkAlive(): void

Private checkFunctionInput

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

    Check if the fn parameter is passed to the constructor.

    -

    Parameters

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

      The function that should be defined.

      -
        • (data: Data): Response
        • Parameters

          • data: Data

          Returns Response

    Returns void

Private checkWorkerOptions

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 fn parameter is passed to the constructor.

    +
    +
    +

    Parameters

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

      The function that should be defined.

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

          Parameters

          +
            +
          • +
            data: Data
          +

          Returns Response

    +

    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 AbstractWorker<MainWorker, Data, Response>

A reference to asyncResource.

-

Protected getMainWorker

  • getMainWorker(): MainWorker

Protected handleError

  • handleError(e: string | Error): string
  • -

    Handle an error and convert it to a string so it can be sent back to the main worker.

    -

    Parameters

    • e: string | Error
      -

      The error raised by the worker.

      -

    Returns string

    Message of the error.

    -

Protected run

  • run(fn: (data?: Data) => Response, value: MessageValue<Data, unknown>): void
  • -

    Run the given function synchronously.

    -

    Parameters

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

      Function that will be executed.

      -
        • (data?: Data): Response
        • Parameters

          • Optional data: Data

          Returns Response

    • value: MessageValue<Data, unknown>
      -

      Input data for the given function.

      -

    Returns void

Protected runAsync

  • runAsync(fn: (data?: Data) => Promise<Response>, value: MessageValue<Data, unknown>): void
  • -

    Run the given function asynchronously.

    -

    Parameters

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

      Function that will be executed.

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

          • Optional data: Data

          Returns Promise<Response>

    • value: MessageValue<Data, unknown>
      -

      Input data for the given function.

      -

    Returns void

runInAsyncScope

  • runInAsyncScope<This, Result>(fn: (...args: any[]) => Result, thisArg?: This, ...args: any[]): Result
  • -

    Call the provided function with the provided arguments in the execution context + +

    Returns

    A reference to asyncResource.

    +
    +

    Returns AbstractWorker<MainWorker, Data, Response>

+
+ +
    + +
  • +

    Returns the main worker.

    + +

    Returns

    Reference to the main worker.

    +
    +

    Returns MainWorker

+
+ +
    + +
  • +

    Handles an error and convert it to a string so it can be sent back to the main worker.

    + +

    Returns

    Message of the error.

    +
    +
    +

    Parameters

    +
      +
    • +
      e: string | Error
      +

      The error raised by the worker.

      +
    +

    Returns string

+
+ +
    + +
  • +

    Worker message listener.

    +
    +
    +

    Parameters

    +
      +
    • +
      message: MessageValue<Data, MainWorker>
      +

      Message received.

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

    +

    Returns void

+
+ +
    + +
  • +

    Runs the given function synchronously.

    +
    +
    +

    Parameters

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

      Function that will be executed.

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

          Parameters

          +
            +
          • +
            Optional data: Data
          +

          Returns Response

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

      Input data for the given function.

      +
    +

    Returns void

+
+ +
    + +
  • +

    Runs the given function asynchronously.

    +
    +
    +

    Parameters

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

      Function that will be executed.

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

          Parameters

          +
            +
          • +
            Optional data: Data
          +

          Returns Promise<Response>

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

      Input data for the given function.

      +
    +

    Returns void

+
+ +
    + +
  • +

    Call the provided function with the provided arguments in the execution context of the async resource. This will establish the context, trigger the AsyncHooks before callbacks, call the function, trigger the AsyncHooks after callbacks, and then restore the original execution context.

    -
    since

    v9.6.0

    -

Type parameters

Parameters

Returns Result

Protected Abstract sendToMainWorker

triggerAsyncId

Static bind

+
+ +
+
+ +
+
+ +

Type parameters

Parameters

Returns Func & { asyncResource: AsyncResource }

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