UNPKG

redis-smq-common

Version:

RedisSMQ Common Library provides many components that are mainly used by RedisSMQ and RedisSMQ Monitor.

23 lines 1.14 kB
import { Worker as WorkerThread } from 'worker_threads'; import { ICallback } from '../async/index.js'; import { EventEmitter } from '../event/index.js'; import { EWorkerType, TWorkerThreadParentMessage } from './types/index.js'; export type TWorkerEvent = { 'worker.error': (err: Error) => void; 'worker.data': (payload: unknown) => void; }; export declare abstract class Worker<Payload, Reply> extends EventEmitter<TWorkerEvent> { protected abstract readonly type: EWorkerType; protected readonly id: `${string}-${string}-${string}-${string}-${string}`; protected readonly workerFilename: string; protected readonly initialPayload: unknown; protected workerThread: WorkerThread | null; protected logger: import("../logger/index.js").ILogger; protected constructor(workerFilename: string, initialPayload?: unknown); getId(): string; protected getWorkerThread(): WorkerThread; protected registerEvents(cb: ICallback<Reply> | Worker<Payload, Reply>): void; postMessage(message: TWorkerThreadParentMessage): void; shutdown(cb: ICallback<void>): void; } //# sourceMappingURL=worker.d.ts.map