node-redisson
Version:
Distributed lock with Redis implementation for Node.js
22 lines (21 loc) • 972 B
TypeScript
import Redis, { Cluster } from 'ioredis';
import { ServiceManager } from '../manager/ServiceManager';
import { IRedissonInnerConfig } from './IRedissonConfig';
export declare const SYMBOL_TIMEOUT: unique symbol;
export type RedissonRedis = Redis | Cluster;
export declare enum UnlockMessages {
UNLOCK = "0",
READ_UNLOCK = "1"
}
export interface ICommandExecutor {
get id(): string;
get redis(): RedissonRedis;
get subscribeRedis(): RedissonRedis;
get redissonConfig(): IRedissonInnerConfig;
get serviceManager(): ServiceManager;
subscribe<T>(eventName: string, listener: (e: T) => void): Promise<void>;
unsubscribe(eventName: string, listener: (...args: any[]) => void): Promise<void>;
subscribeOnce<T>(eventName: string, listener: (e: T) => void): Promise<void>;
waitSubscribeOnce<T>(eventName: string, timeout?: number): Promise<T | typeof SYMBOL_TIMEOUT>;
publish(eventName: string, e: string): Promise<string | null>;
}