Class: HttpRateLimiter
Defined in: electron/services/monitoring/utils/httpRateLimiter.ts:17
Lightweight in-memory rate limiter for HTTP monitor requests.
Constructors
Constructor
new HttpRateLimiter(
maxConcurrent:number,minIntervalMs:number,maxWaitMs:number):HttpRateLimiter
Defined in: electron/services/monitoring/utils/httpRateLimiter.ts:82
Parameters
maxConcurrent
number
minIntervalMs
number
maxWaitMs
number = 30_000
Returns
HttpRateLimiter
Properties
lastInvocation
privatereadonlylastInvocation:Map<string,number>
Defined in: electron/services/monitoring/utils/httpRateLimiter.ts:18
active
privateactive:number=0
Defined in: electron/services/monitoring/utils/httpRateLimiter.ts:20
maxConcurrent
privatereadonlymaxConcurrent:number
Defined in: electron/services/monitoring/utils/httpRateLimiter.ts:22
minIntervalMs
privatereadonlyminIntervalMs:number
Defined in: electron/services/monitoring/utils/httpRateLimiter.ts:24
maxWaitMs
privatereadonlymaxWaitMs:number
Defined in: electron/services/monitoring/utils/httpRateLimiter.ts:26
Methods
schedule()
Defined in: electron/services/monitoring/utils/httpRateLimiter.ts:31
Schedule a function respecting concurrency and rate limits.
Type Parameters
T
T
Parameters
url
string
fn
() => Promise<T>
Returns
Promise<T>
getKey()
privategetKey(url:string):string
Defined in: electron/services/monitoring/utils/httpRateLimiter.ts:73
Parameters
url
string
Returns
string