UNPKG

redis-smq

Version:

A high-performance, reliable, and scalable message queue for Node.js.

50 lines 2.76 kB
import { EventEmitter, ICallback, IRedisClient, IRedisConfig } from 'redis-smq-common'; import { ERedisConnectionAcquisitionMode, IConnectionPoolConfig, IRedisPooledConnection, TRedisConnectionPoolEvent } from './types/connection-pool.js'; export declare class RedisConnectionPool extends EventEmitter<TRedisConnectionPoolEvent> { protected static instance: RedisConnectionPool | null; protected readonly redisConfig: IRedisConfig; protected readonly poolConfig: Required<IConnectionPoolConfig>; protected readonly connections: Map<string, IRedisPooledConnection>; protected readonly waitingQueue: Array<{ callback: ICallback<IRedisClient>; timestamp: number; mode: ERedisConnectionAcquisitionMode; }>; protected initialized: boolean; protected shuttingDown: boolean; protected reapTimer: NodeJS.Timeout | null; protected connectionIdCounter: number; protected constructor(redisConfig: IRedisConfig, poolConfig?: IConnectionPoolConfig); static initialize(redisConfig: IRedisConfig, poolConfig: IConnectionPoolConfig | undefined, cb: ICallback<RedisConnectionPool>): void; static getInstance(): RedisConnectionPool; static shutdown(cb: ICallback): void; protected releaseExclusiveConnection(connection: IRedisPooledConnection): void; protected releaseSharedConnection(connection: IRedisPooledConnection): void; protected createMinimumConnections(cb: ICallback): void; protected createConnection(cb: ICallback<IRedisPooledConnection>): void; protected findAvailableConnection(mode: ERedisConnectionAcquisitionMode): IRedisPooledConnection | null; protected prepareConnection(connection: IRedisPooledConnection, mode: ERedisConnectionAcquisitionMode, cb: ICallback<IRedisClient>): void; protected processWaitingQueue(): void; protected startReaper(): void; protected stopReaper(): void; protected reapIdleConnections(): void; protected destroyConnection(connectionId: string): void; protected handleConnectionError(connectionId: string, error: Error): void; protected getConnection(client: IRedisClient): IRedisPooledConnection | undefined; protected getConnectionId(client: IRedisClient): string | null; protected generateConnectionId(): string; acquire(mode: ERedisConnectionAcquisitionMode, cb: ICallback<IRedisClient>): void; release(client: IRedisClient): void; destroy(client: IRedisClient, cb: ICallback): void; getStats(): { total: number; available: number; inUse: number; exclusively: number; shared: number; sharedUsers: number; waiting: number; }; shutdown(cb: ICallback): void; } //# sourceMappingURL=redis-connection-pool.d.ts.map