本文共 1504 字,大约阅读时间需要 5 分钟。
brew install rabbitmq
(control + c 取消更新brew)
安装RabiitMQ的可视化监控插件
// 切换到MQ目录,注意你的安装版本可能不是3.8.3 cd /usr/local/Cellar/rabbitmq/3.8.3/ // 启用rabbitmq management插件 sudo sbin/rabbitmq-plugins enable rabbitmq_management
设置环境变量。open .bash_profile
, 添加
export RABBITMQ_HOME=/usr/local/Cellar/rabbitmq/3.8.3export PATH=$PATH:$RABBITMQ_HOME/sbin
完成后
source .bash_profile
sudo rabbitmq-server
(开启服务)
开启后在浏览器打开 http://localhost:15672/#/
其他操作:
sudo rabbitmqctl stop
sudo rabbitmqctl status
初始化项目 jt init 。(如没有安装jt 工具,请查看 )
修改 confing/config.default.js中的username、password
rabbitMQ: { protocol: 'amqp', host: 'localhost', port: 5672, username: 'guest', password: 'guest', vhost: '' },
在 RabbitMQ 中新建 Queue,名称为testQueue.
修改项目中 index_mq_stat.js中
sky.start(config, async () => { let res = await rtsMQ.send({ text:'q2'}) console.log('rtsMQ',res); })
send():生产者发送信息的封装方法。
执行 nodemon index_mq_stat.js
,此时在 testQueue的已经用生产者发出数据
修改 rts_consumer.js 中的queueName为第三步设置的testQueue。
rtsMQ.rev({ noAck: false, // 默认false,true会自动 确认消费,会造成来不及消费就ack的情况 prefetch: 1, // 默认每次消费一条 cbFunc: consumerFunc, queueName: "testQueue", // 这是默认的,如果要动态请设置 相应环境的config文件 });
// 这边需要 处理data 和 channel=ch两个参数async function consumerFunc(data, ch) { mqObj = data.content.toString() console.log("data===>", mqObj); ch.ack(data); return;}
项目中新开终端,执行 node rts_consumer.js。
此时查看RabbitMQ 中get message 的时候,显示empty。消费者已经消费完。
转载地址:http://iffpn.baihongyu.com/