redis-smq-common
Version:
RedisSMQ Common Library provides many components that are mainly used by RedisSMQ and RedisSMQ Monitor.
40 lines • 1.84 kB
TypeScript
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 { Timer } from '../timer/index.js';
export type TLockerEvent = {
'locker.up': (id: string) => void;
'locker.down': (id: string) => void;
'locker.goingUp': (id: string) => void;
'locker.goingDown': (id: string) => void;
'locker.error': (error: Error, id: string) => void;
};
export declare class RedisLock extends Runnable<TLockerEvent> {
protected readonly lockKey: string;
protected readonly retryOnFail: boolean;
protected readonly ttl: number;
protected readonly redisClient: IRedisClient;
protected readonly autoExtendInterval: number;
protected readonly timer: Timer;
protected readonly logger: ILogger;
constructor(redisClient: IRedisClient, logger: ILogger, lockKey: string, ttl: number, retryOnFail?: boolean, autoExtendInterval?: number);
protected lock: (cb: ICallback<void>) => void;
protected extend: (cb: ICallback<void>) => void;
protected release: (cb: ICallback<void>) => void;
protected resetTimer: (cb: ICallback<void>) => void;
protected autoExtendLock(): void;
protected goingUp(): Array<(cb: ICallback<void>) => void>;
protected goingDown(): Array<(cb: ICallback<void>) => void>;
protected handleError: (err: Error) => void;
protected getLogger(): ILogger;
protected up(cb: ICallback<boolean>): void;
protected down(cb: ICallback<boolean>): void;
run(cb: ICallback<boolean>): void;
acquireLock(cb: ICallback<boolean>): void;
releaseLock(cb: ICallback<void>): void;
extendLock(cb: ICallback<void>): void;
isLocked(): boolean;
isReleased(): boolean;
}
//# sourceMappingURL=redis-lock.d.ts.map