【问题标题】:How i close the rabbitMQ connection after message send success when i use amqp.node in node.js当我在 node.js 中使用 amqp.node 时,我如何在消息发送成功后关闭 rabbitMQ 连接
【发布时间】:2016-07-19 02:52:00
【问题描述】:

在一些演示中,他们在定时器功能中关闭连接,如下所示:

var amqp = require('amqplib/callback_api');

amqp.connect('amqp://localhost', function(err, conn) {
  conn.createChannel(function(err, ch) {
    var q = 'hello';
    var msg = 'Hello World!';

    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);
});

发送成功后有什么方法可以关闭conn吗?

【问题讨论】:

    标签: node.js rabbitmq


    【解决方案1】:

    我在下面写了这样的代码

    var q = 'TEST';
    var open = require('amqplib').connect('amqp://user:password@localhost:5672');
    var sleep = require('sleep');
    //Publisher
    
    function publish() {
        let ch;
        var connection;
        let publisher = open.then(function(conn) {
            connection=conn;
            return conn.createChannel();
        }).then(function(chann) {
            ch = chann;
            ch.purgeQueue(q);
            return ch.assertQueue(q,{noCreate: true});
        }).then(function(ok) {
            return ch.sendToQueue(q, new Buffer('HELLO WORLD'),{noAck:true});
        }).then(function(ok) {
            console.log('MESSAGE_SENT', ok);
            return ok; //resolve('MESSAGE_SENT')
        }).then((ok)=>{
            console.log('Assert queue response:', ok);
            setTimeout(function() { connection.close();}, 500);
        })
        .catch(function(err) {
            console.log(err);
            console.error('Unable to connect PUBLISHER');
            process.exit(1);
            //reject('MESSAGE_SENT')
        });
    
        return publisher;
    
    }
    
    publish();
    module.exports = {
        publish
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-22
      • 1970-01-01
      相关资源
      最近更新 更多