@jbagatta/johnny-locke
Version:
A robust, strongly-consistent distributed locking library that provides atomic operations across multiple processes
14 lines (13 loc) • 484 B
TypeScript
import { Redis } from "ioredis";
export declare class LockListener {
private readonly redis;
private readonly namespace;
private readonly subscriber;
private readonly listeners;
constructor(redis: Redis, namespace: string);
notify<T>(namespacedKey: string, payload: T): Promise<void>;
waitUntilNotified<T>(namespacedKey: string, timeoutMs: number): Promise<T>;
cancel<T>(wait: Promise<T>): void;
private resolveOnNotification;
close(): void;
}