Как отправить сообщение в веб-приложение Node.js, используя rabbitMQ - PullRequest
0 голосов
/ 03 мая 2018

Итак, у меня есть веб-приложение Node.js с полным стеком, развернутое по адресу www.infinity2o.com

Когда я разрабатываю его локально, у меня появляется интерфейс, использующий прокси-интерфейс API от localhost:3000 до localhost:5000, добавляя к моему package.json:

"proxy": {
    "/auth/*": {
        "target": "http://localhost:5000"
    },
    "/api/*": {
        "target": "http://localhost:5000"
    }
},

Моя проблема в том, что, когда мой бэкэнд-API отправляет сообщение (msg) на мой сервер RabbitMQ на EC2 со следующим кодом:

        await amqp.connect(
            'amqp://infinity2o:2134711@52.4.101.52:5672',
            function(err, conn) {
                conn.createChannel(function(err, ch) {
                    let q = 'run_minerva_for_new_user_queue';
                    let msg = mongoDBUserId;
                    ch.assertQueue(q, { durable: false });
                    ch.sendToQueue(q, new Buffer(msg));
                    console.log(' [x] Sent %s', msg);
                });
                setTimeout(function() {
                    conn.close();
                    process.exit(0);
                }, 500);
            }
        );

Внутренний сервер моего веб-приложения говорит:

Error occurred while trying to proxy request /api/current_user from localhost:3000 to http://localhost:5000 (ECONNREFUSED)

Дело в том, что я не понимаю, почему попадание в другую часть моего внутреннего API вызвало бы эту проблему, потому что /api/current_user получен после отправки сообщения RabbitMQ.

1 Ответ

0 голосов
/ 03 мая 2018

Это потому, что в моем коде RabbitMQ было process.exit(0);, которое я скопировал из документов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...