UNPKG

@apiratorjs/locking-redis

Version:

An extension to the core @apiratorjs/locking library, providing Redis-based implementations of distributed mutexes and semaphores for true cross-process concurrency control in Node.js.

19 lines 1.03 kB
import { RedisClientType } from "redis"; import { types } from "@apiratorjs/locking"; import { BaseDistributedLockPrimitive } from "./base-distributed-lock-primitive"; export declare class RedisDistributedMutex extends BaseDistributedLockPrimitive implements types.IDistributedMutex { constructor(props: types.TDistributedMutexConstructorProps & { redisClient: RedisClientType; }); destroy(message?: string): Promise<void>; acquire(params?: types.TAcquireParams): Promise<types.IReleaser<types.TMutexToken>>; cancel(errMessage?: string): Promise<void>; isLocked(): Promise<boolean>; runExclusive<T>(fn: () => Promise<T> | T): Promise<T>; runExclusive<T>(params: types.TAcquireParams, fn: () => Promise<T> | T): Promise<T>; waitForUnlock(): Promise<void>; protected tryAcquire(timeoutMs: number): Promise<types.TAcquireToken | undefined>; protected release(token: types.TAcquireToken): Promise<void>; private ensureAlive; } //# sourceMappingURL=redis-distributed-mutex.d.ts.map