Class: HttpRateLimiter
Defined in: electron/services/monitoring/utils/httpRateLimiter.ts:16
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:81
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:17
active
privateactive:number=0
Defined in: electron/services/monitoring/utils/httpRateLimiter.ts:19
maxConcurrent
privatereadonlymaxConcurrent:number
Defined in: electron/services/monitoring/utils/httpRateLimiter.ts:21
minIntervalMs
privatereadonlyminIntervalMs:number
Defined in: electron/services/monitoring/utils/httpRateLimiter.ts:23
maxWaitMs
privatereadonlymaxWaitMs:number
Defined in: electron/services/monitoring/utils/httpRateLimiter.ts:25
Methods
schedule()
Defined in: electron/services/monitoring/utils/httpRateLimiter.ts:30
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:72
Parameters
url
string
Returns
string