@awesomeniko/kafka-trail
Version:
A Node.js library for managing message queue with Kafka
19 lines • 589 B
JavaScript
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