UNPKG

@escueladigital/micro

Version:

Microservice manager for nodejs with kafka

19 lines (18 loc) 424 B
module.exports = (offsets = [], Attempts = 4) => { return new Promise(async (resolve, reject) => { let intents = 0 while (offsets.length > 0 && intents < Attempts) { try { await offsets[0]() offsets.shift() } catch (e) { intents += 1 } } if (intents >= 3) { reject(new Error('No se pudo compensar la transacción')) } else { resolve() } }) }