/** * Created by bin.shen on 03/12/2016. */ var amqp = require('amqplib/callback_api'); var moment = require('moment'); var uri = 'amqp://guest:guest@121.40.92.176'; module.exports.publishMessage = function(data) { this.pushToMQ('ex_data_dev1', { data: data, time: moment().format('YYYY-MM-DD HH:mm:ss') }) }; module.exports.pushToMQ = function(ex, data) { amqp.connect(uri, function(err, conn) { conn.createChannel(function(err, ch) { ch.assertExchange(ex, 'fanout', { durable: false }); ch.publish(ex, '', new Buffer(JSON.stringify(data))); }); setTimeout(function() { conn.close(); }, 500); }); }; module.exports.listenToMQ = function(ex) { amqp.connect(uri, function(err, conn) { conn.createChannel(function(err, ch) { ch.assertExchange(ex, 'fanout', { durable: false }); ch.assertQueue('', {exclusive: true}, function(err, q) { ch.bindQueue(q.queue, ex, ''); ch.consume(q.queue, function(msg) { var message = JSON.parse(msg.content); global.configs[message.mac] = message; }, { noAck: true }); }); }); }); };