Является ли ampqlib для узла ch.sendToQueue () блокирующим вызовом? - PullRequest
0 голосов
/ 16 января 2019

Я не уверен, блокирует функция amqplib ch.sendToQueue () или нет. Я завернул его в обещание, как показано ниже, и разрешил его сообщением «Успех», но я не уверен, действительно ли оно ожидает добавления сообщения в очередь или нет.

return new Promise(function (resolve, reject) {
    amqp.connect(amqp_uri, function (err, conn) {
        if (err) reject(err);

        conn.createChannel(function (err, ch) {
            if (err) reject(err);

            var q = 'kds';
            var msg = entity_id;

            ch.assertQueue(q, { durable: false });
            ch.sendToQueue(q, Buffer.from(msg));
            console.log(" [x] Sent %s", msg);
        });
        setTimeout(function () { conn.close(); resolve('Success!') }, 500);
    });
});
...