SailsアプリでRabbitMQを使用できません。サブスクライバーコードを配置する場所がわかりません。私がやろうとしているのは、管理者がユーザーのデータリクエストを承認すると、Facebookが通知をポップするのと同じように、ユーザーのダッシュボードが通知をポップするように通知システムを構築することです。問題は、ダッシュボードコントローラーの表示ルートにサブスクライバーコードを配置しても、公開されたメッセージを取得できないように見えることです。
アドバイスをいただければ幸いです。現在、rabbit.jsパッケージを使用してRabbitMQに接続しています。
元の質問に答えるために、何らかの理由でSailsの組み込みのリソースの豊富なpubsubの代わりにRabbit MQを使用したい場合は、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');
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加