UNPKG

@awesomeniko/kafka-trail

Version:

A Node.js library for managing message queue with Kafka

19 lines 589 B
import { KTRetryError } from "../../custom-errors/kafka-errors.js"; const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); const retry = async (fn, logger, { maxRetries = 3, interval = 1000 } = {}) => { let attempt = 1; while (attempt <= maxRetries) { try { await fn(); return true; } catch (e) { logger.warn(e, `Error, retrying | ${attempt}`); await sleep(interval); attempt++; } } throw new KTRetryError(); }; export { retry }; //# sourceMappingURL=retry.js.map