UNPKG

renovate

Version:

Automated dependency updates. Flexible so you don't need to be.

31 lines (30 loc) 878 B
import { logger } from "../../logger/index.js"; import { parseUrl } from "../url.js"; import { getConcurrentRequestsLimit } from "./rate-limits.js"; import PQueue from "p-queue"; //#region lib/util/http/queue.ts const hostQueues = /* @__PURE__ */ new Map(); function getQueue(url) { const host = parseUrl(url)?.host; if (!host) { logger.debug(`No host on ${url}`); return null; } let queue = hostQueues.get(host); if (queue === void 0) { queue = null; const concurrency = getConcurrentRequestsLimit(url); if (concurrency) { logger.debug(`Using queue: host=${host}, concurrency=${concurrency}`); queue = new PQueue({ concurrency }); } else logger.trace({ host }, "No concurrency limits"); } hostQueues.set(host, queue); return queue; } function clear() { hostQueues.clear(); } //#endregion export { clear, getQueue }; //# sourceMappingURL=queue.js.map