diff --git a/src/services/rabbitmq.ts b/src/services/rabbitmq.ts index 1ad374b4..8bd75016 100644 --- a/src/services/rabbitmq.ts +++ b/src/services/rabbitmq.ts @@ -43,6 +43,8 @@ export async function init() { // createConsumer(queue2, channel, handler2); } +let retries = 0; + function createConsumer( //----> consumer queue: string, channel: amqp.Channel, @@ -53,7 +55,10 @@ function createConsumer( //----> consumer async (msg) => { if (!msg) return; - if (await handler(msg)) return channel.ack(msg); + if ((await handler(msg)) || retries++ >= 3) { + retries = 0; + return channel.ack(msg); + } return await new Promise((resolve) => setTimeout(() => resolve(channel.nack(msg)), 3000)); }, @@ -162,6 +167,6 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise { return true; } catch (error) { console.error(error); - return false; + return false; } }