Nodejs 接收RabbitMQ消息

参考官方地址:https://www.rabbitmq.com/tutorials/tutorial-one-javascript.html

关于C#消息发送端,请参考《c# RabbitMQ 发送消息

该文章中,只是消息的接收端,使用Nodejs,其中最重要的一个库是RabbitMQ官方给出的amqplib,文章中的代码都是参考官方的示例

首先安装amqplib

npm install amqplib --save

然后创建index.js,内容如下

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

amqp.connect('amqp://localhost', function (err, conn) {
conn.createChannel(function (err, ch) {
var q = 'UploadMachineStatus'; //接收端
ch.assertQueue(q, { durable: true }); console.log(" [*] Waiting for messages in queue %s. To exit press CTRL+C", q); //接收端
ch.consume(q, function (msg) {
console.log(" [x] %s", msg.content.toString());
}, { noAck: true });
});
});

promise版本

var q = 'UploadMachineStatus';
var open = require('amqplib').connect('amqp://localhost'); // Consumer
open.then(function (conn) {
return conn.createChannel();
}).then(function (ch) {
return ch.assertQueue(q).then(function (ok) { return ch.consume(q, function (msg) {
if (msg !== null) { console.log(msg.content.toString());
ch.ack(msg);
}
}); });
}).catch(console.warn);

效果图,当消息发送端发出了消息后,在Nodejs消息接收端会比较及时的收到消息

Nodejs 接收RabbitMQ消息

文章参考:《架构设计之NodeJS操作消息队列RabbitMQ

上一篇:命令行运行android模拟器


下一篇:nodejs EventEmitter 发送消息