import * as Amqp from "amqp-ts";
const fetch = require('node-fetch');
const axios = require('axios')
let connection = new Amqp.Connection("amqp://admin:admin@localhost");
// let exchange = connection.declareExchange("ExchangeName");
let queue = connection.declareQueue("nodejs");
// queue.bind(exchange);
queue.prefetch(500);
queue.activateConsumer(async (message) => {
const site: string = message.getContent().site;
console.log(site)
axios(site).then((response: any) => {
console.log(response.status);
message.ack();
})
}).then(({consumerTag}) => {
console.log(consumerTag)
});
Итак, я нашел ответ, решение, которое я нашел, заключалось в том, чтобы, во-первых, подтвердить успешное отправленное сообщение
message.ack();
и, во-вторых, добавить максимально разрешенное количество сообщений в распакованном виде
queue.prefetch(500);
Это сработало как шарм!