UNPKG

dnf-api

Version:
42 lines (41 loc) 1.03 kB
export declare class RequestQueue { private queue; private processing; private secondTimestamps; private minuteTimestamps; /** * 큐에 요청을 추가합니다. * @param task 실행할 비동기 작업 * @returns 작업 결과 Promise */ add<T>(task: () => Promise<T>): Promise<T>; /** * 슬라이딩 윈도우 기반으로 대기 시간을 계산합니다. */ private getWaitTime; /** * 요청 타임스탬프를 기록합니다. */ private recordRequest; /** * 큐를 처리합니다. */ private processQueue; private sleep; /** * 현재 큐 상태를 반환합니다. */ get status(): { queueLength: number; requestsInLastSecond: number; requestsInLastMinute: number; maxPerSecond: number; maxPerMinute: number; }; /** * 큐를 초기화합니다. */ clear(): void; } export declare const requestQueue: RequestQueue; export default requestQueue;