UNPKG

redis-smq-common

Version:

Provides essential components and utilities shared across RedisSMQ packages.

31 lines 1.48 kB
import { ICallback } from '../../async/index.js'; import { ILogger } from '../../logger/index.js'; import { IRedisClient } from '../../redis-client/index.js'; import { Runnable } from '../../runnable/index.js'; import { RunnableWorker } from '../runnable-worker.js'; export type TWorkerClusterEvent = { 'workerCluster.error': (err: Error) => void; 'workerCluster.workerAdded': (worker: RunnableWorker<unknown>) => void; 'workerCluster.workerRemoved': (workerId: string) => void; }; export declare class WorkerCluster extends Runnable<TWorkerClusterEvent> { protected static LOCK_TTL: number; private readonly uniqueGroupIdentifier; private readonly workerHandler; private readonly workerLoader; private readonly redisClient; protected readonly logger: ILogger; private locker; constructor(redisClient: IRedisClient, logger: ILogger, uniqueGroupIdentifier: string | null, workerFilenamePattern?: string); private handleWorkerError; private acquireLock; private releaseLock; protected goingUp(): ((cb: ICallback) => void)[]; protected goingDown(): ((cb: ICallback) => void)[]; protected handleError(err: Error): void; addWorker(filename: string, payload: unknown): RunnableWorker<unknown>; loadFromDir: <WorkerPayload = unknown>(workersDir: string, payload: WorkerPayload, cb: ICallback) => void; private assertDownState; private validateDownState; } //# sourceMappingURL=worker-cluster.d.ts.map