pg-mutex-lock
Version:
Mutex Lock using postgreSQL
23 lines (22 loc) • 667 B
TypeScript
import type { Client } from 'pg';
declare type ConstructionOptions = {
database?: ConstructorParameters<typeof Client>[0];
/** timeout in milliseconds (default: 10 * 1000 ms) */
timeout?: number;
/** (default: 3) */
retryCount?: number;
};
export default class PGMutexLock {
private timeout;
private retryCount;
private client;
private databaseId;
private isConnected;
private emitter;
constructor({ database, timeout, retryCount }?: ConstructionOptions);
private waitConnection;
acquireLock(key: string): Promise<boolean>;
releaseLock(key: string): Promise<boolean>;
end(): Promise<void>;
}
export {};