Обязательно ли в rabbitmq нужно закрывать соединение?

Только начал знакомиться с rabbitmq, посмотрел примеры с офф сайта

Наконец, закрываем соединение и выходим

setTimeout(function() {
  connection.close();
  process.exit(0)
  }, 500);


мой пример кода

const express = require('express');
const app = express();
const amqp = require('amqplib/callback_api');

amqp.connect('amqp://localhost', function(error0, connection) {
    if (error0) {
        throw error0;
    }
    connection.createChannel(function(error1, channel) {
        if (error1) {
            throw error1;
        }

        channel.assertQueue('ses', {
            durable: false
        });

        app.get('/serv1',async (req, res) => {
            const data = {
                name: 'name',
                server: '3009',
            }

            await channel.sendToQueue("ses", Buffer.from(JSON.stringify(data)))
            // res.send(data)
        })

        app.listen(3009, () => {
            console.log('server start')
        })
    });
});


Например через Postman я отправлю request, то все удачно приходит и я получаю сообщение, но если я вставлю код выше, то при отправки повторного запроса, я получаю ошибку, я понимаю из за чего происходит эта ошибка, но я так и не могу понять зачем закрывать соединение?

В моем понимании если слушать порт
app.listen(3009, () => {
            console.log('server start')
        })
то зачем его закрывать, или я что то не правильно делаю, помогите разобраться!
  • Вопрос задан
  • 602 просмотра
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
закрывать необязательно,
Раббит сам их закроет, грохнувшись при превышении в настройках по дефолту,
ну или новооткрывающимся не повезет: типа не упал, но и новые не создаются и не принимаются

ты все же чуток разберись с концептом и понятиями что делаешь, логи посмотрти, мониторинг посмотри,
потерянные сообщения посмотри - так и придет понимание
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы