Rate Limiting & Idempotency using Push Based consumers
Original message was deleted
function consumeMessage(batch) {
startTime = now();
for (const message of batch) {
try {
// Call third-party API
message.ack();
} catch {
message.retry();
}
}
elapsedTime = now() - startTime;
sleep(1 second - elapsedTime); // Ensures at least 1 second per batch
}