LockStore
Defined in: src/lock.ts:29
Lease storage behind LockStrategy. Every method must be atomic for its key, so adapters (Redis, Postgres) can be swapped in:
acquire: if the key has no live lease, store{ owner, expires: now + ttlMs }, bump the key’s fencing token and return it; otherwise return undefined. Tokens must only ever increase per key, also across expiry and release.renew: if the live lease belongs toowner, push its expiry tonow + ttlMsand return true; otherwise false.release: delete the lease only if it belongs toowner(never someone else’s lease that took over after expiry).
Methods
Section titled “Methods”acquire()
Section titled “acquire()”acquire(
key,owner,ttlMs):Promise<{fencingToken:number; } |undefined>
Defined in: src/lock.ts:30
Parameters
Section titled “Parameters”string
string
number
Returns
Section titled “Returns”Promise<{ fencingToken: number; } | undefined>
release()
Section titled “release()”release(
key,owner):Promise<void>
Defined in: src/lock.ts:32
Parameters
Section titled “Parameters”string
string
Returns
Section titled “Returns”Promise<void>
renew()
Section titled “renew()”renew(
key,owner,ttlMs):Promise<boolean>
Defined in: src/lock.ts:31
Parameters
Section titled “Parameters”string
string
number
Returns
Section titled “Returns”Promise<boolean>