RabbitMQ和Sails.js

我在使用我的Sails应用程序时遇到了麻烦。 我不确定在哪里放置用户代码。 我想要做的是构build一个通知系统,以便当pipe理员批准用户的数据请求时,用户的仪表板将popup类似于Facebookpopup通知的通知。 问题是,将用户代码放在我的仪表板控制器的显示path中似乎永远不会获取发布的消息。

任何build议将不胜感激。 目前使用rabbit.js包连接到RabbitMQ。

要回答原来的问题,如果出于某种原因想要使用Rabbit MQ而不是Sails的内置资源性pubsub ,最好的办法就是使用rabbit.js 。

首先, npm install rabbit.js

然后,在你的Sails项目的config / sockets.js (从rabbit.js socket.io示例中宽松地借用):

 var context = require('rabbit.js').createContext(); module.exports = { onConnect: function(session, socket) { var pub = context.socket('PUB'); var sub = context.socket('SUB'); socket.on('disconnect', function() { pub.close(); sub.close(); }); // NB we have to adapt between the APIs sub.setEncoding('utf8'); socket.on('message', function(msg) { pub.write(msg, 'utf8'); }); sub.on('data', function(msg) { socket.send(msg); }); sub.connect('chat'); pub.connect('chat'); } } 

这是一个npm包 ,它为SailsJS实现了一个RabbitMQ适配器。