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.

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 structured-cloneable data.

  • Response = unknown

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

Hierarchy (view full)

Constructors

Properties

activeInterval?: Timeout

Handler id of the activeInterval worker activity check.

isMain: undefined | boolean

Whether this is the main worker or not.

lastTaskTimestamp: number

Timestamp of the last task processed by this worker.

opts: WorkerOptions = DEFAULT_WORKER_OPTIONS

Options for the worker.

port?: MessagePort

Message port used to communicate with the main worker.

statistics?: WorkerStatistics

Performance statistics computation requirements.

taskFunctions: Map<string, TaskFunctionObject<Data, Response>>

Task function object(s) processed by the worker when the pool's execution function is invoked.

Accessors

Methods

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

    Parameters

    • error: string | Error

      The error raised by the worker.

    Returns string

    The error message.