UNPKG

universal-queues

Version:

Factory universal para mensageria (RabbitMQ, Kafka, SQS) para sistemas distribuĂ­dos.

28 lines • 951 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Retry = Retry; function Retry(retries = 3, delayMs = 1000, onError) { return function (_target, _propertyKey, descriptor) { const originalMethod = descriptor.value; descriptor.value = async function (...args) { let attempt = 0; let lastError; while (attempt < retries) { try { return await originalMethod.apply(this, args); } catch (e) { attempt++; lastError = e; if (onError) onError(e, attempt); if (attempt < retries) await new Promise(res => setTimeout(res, delayMs)); } } throw lastError; }; return descriptor; }; } //# sourceMappingURL=retry.js.map