簡體   English   中英

RabbitMQ和Sails.js

[英]RabbitMQ and Sails.js

我在使用帶有Sails應用程序的RabbitMQ時遇到了麻煩。 我不確定訂戶代碼的放置位置。 我正在嘗試建立一個通知系統,以便當管理員批准用戶的數據請求時,用戶的儀表板將彈出類似於Facebook彈出通知的通知。 問題是,將用戶代碼放在儀表板控制器的顯示路徑中似乎永遠不會抓取已發布的消息。

任何建議將不勝感激。 目前使用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');

    }

}

這是一個為SailsJS實現RabbitMQ適配器的npm包

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM