Constructors Methodsacquire acquire ( options ? ) : Promise < void > Parameters Optionaloptions : { signal ?: AbortSignal ; timeout ?: number ; } Optionalsignal ?: AbortSignal Optionaltimeout ?: number Returns Promise < void > dispose dispose ( ) : void Returns void get Available Permits get Available Permits ( ) : number Returns number get Max Permits get Max Permits ( ) : number Returns number get Metrics get Metrics ( ) : { availablePermits : number ; disposed : boolean ; maxPermits : number ; utilization : number ; waitingCount : number ; } Returns { availablePermits : number ; disposed : boolean ; maxPermits : number ; utilization : number ; waitingCount : number ; } available Permits : number disposed : boolean max Permits : number utilization : number waiting Count : number get Waiting Count get Waiting Count ( ) : number Returns number is Disposed is Disposed ( ) : boolean Returns boolean on on ( type , handler ) : ( ( ) => void ) Parameters type : | "queued" | "acquired" | "released" | "timeout" | "aborted" | "disposed" handler : ( ( event : SemaphoreEvent ) => any ) Returns ( ( ) => void ) once once ( type , handler ) : ( ( ) => void ) Parameters type : | "queued" | "acquired" | "released" | "timeout" | "aborted" | "disposed" handler : ( ( event : SemaphoreEvent ) => any ) Returns ( ( ) => void ) release release ( ) : void Returns void with Permit with Permit < T > ( fn , options ? ) : Promise < T > Parameters fn : ( ( ) => Promise < T > ) ( ) : Promise < T > Returns Promise < T > Optionaloptions : { signal ?: AbortSignal ; timeout ?: number ; } Optionalsignal ?: AbortSignal Optionaltimeout ?: number Returns Promise < T >
A semaphore that limits the number of concurrent operations. Used to prevent connection pool exhaustion by limiting concurrent database operations to the pool size.