Итак, у меня есть «работающий» набор потребителей / издателей кроликов, которые обрабатывают данные перед их перемещением. Каждый потребитель выглядит примерно так, разделенный на несколько файлов
const amqp = require("amqplib/callback_api");
const logger = require("../../globalConfig/logger");
amqp.connect(
"amqp://localhost",
(err, conn) => {
rabbit.createChannel((err, ch) => {
const q = "someQ";
const newQ = "newQ";
ch.assertQueue(q, {
durable: true
});
logger.info("ACL Listener - Listening");
ch.consume(
q,
msg => {...}) // Do something before moving on
})
Однако я хотел бы преобразовать его в один пул соединений с несколькими каналами. Я также хотел бы преобразовать все это в async \ await пользователя, потому что его намного проще читать.
С моим подключением к mongoDB я настраиваю его при запуске приложения, а затем импортирую базу данных в каждую соответствующую область. Один поддерживаемый пул соединений. Моя цель - нечто подобное здесь.
Какая лучшая практика для этого?