poolifier - v5.0.2
    Preparing search index...

    Interface AbstractWorker<MainWorker, Data, Response>Abstract

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

    interface AbstractWorker<
        MainWorker extends MessagePort
        | Worker,
        Data = unknown,
        Response = unknown,
    > {
        activeInterval?: Timeout;
        id: number;
        isMain: undefined | boolean;
        lastTaskTimestamp: number;
        opts: WorkerOptions;
        statistics?: WorkerStatistics;
        taskAbortFunctions: Map<
            `${string}-${string}-${string}-${string}-${string}`,
            () => void,
        >;
        taskFunctions: Map<string, TaskFunctionObject<Data, Response>>;
        addTaskFunction(
            name: string,
            fn: TaskFunctionObject<Data, Response> | TaskFunction<Data, Response>,
        ): TaskFunctionOperationResult;
        getMainWorker(): MainWorker;
        handleError(
            error: Error,
        ): { aborted: boolean; error?: Error; message: string; stack?: string };
        handleKillMessage(message: MessageValue<Data>): void;
        handleReadyMessage(message: MessageValue<Data>): void;
        handleTaskFunctionOperationMessage(message: MessageValue<Data>): void;
        hasTaskFunction(name: string): TaskFunctionOperationResult;
        listTaskFunctionsProperties(): TaskFunctionProperties[];
        messageListener(message: MessageValue<Data>): void;
        removeTaskFunction(name: string): TaskFunctionOperationResult;
        run(task: Task<Data>): void;
        runAsync(fn: TaskAsyncFunction<Data, Response>, task: Task<Data>): void;
        runSync(fn: TaskSyncFunction<Data, Response>, task: Task<Data>): void;
        sendTaskFunctionsPropertiesToMainWorker(): void;
        sendToMainWorker(message: MessageValue<Response, Data>): void;
        setDefaultTaskFunction(name: string): TaskFunctionOperationResult;
    }

    Type Parameters

    • MainWorker extends MessagePort | Worker

      Type of main worker.

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

    Hierarchy (View Summary)

    Index

    Properties

    activeInterval?: Timeout

    Handler id of the activeInterval worker activity check.

    id: number

    Worker id.

    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.

    statistics?: WorkerStatistics

    Performance statistics computation requirements.

    taskAbortFunctions: Map<
        `${string}-${string}-${string}-${string}-${string}`,
        () => void,
    >

    Task abort functions processed by the worker when task operation 'abort' is received.

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

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

    Methods

    • Handles a worker error.

      Parameters

      • error: Error

        The error raised by the worker.

      Returns { aborted: boolean; error?: Error; message: string; stack?: string }

      The worker error object.