2017-01-09 5 views
1

私はnodejsコードにRabbitMQを実装しようとする新しいユーザーです。私はそれを使用していくつかの例を紹介しましたが、それをリアルタイムの例でどのように使用するかについてはまだ不明です。私はキューからメッセージを読むためにRabbit MQを使用しようとしています。 nodejsのキューからメッセージを読み取るにはどうすればよいですか?nodejsのRabbitMQからメッセージを受け取る方法

ありがとうございます!

+0

ウェブサイト上にjavascriptのチュートリアルがあります。あなたはそれらをチェックアウトしたことがありますか? https://www.rabbitmq.com/getstarted.html – djones

+0

@djonesはい私はしました! – user6860877

答えて

1

Node.jsには、npmjs.orgに貢献する大規模なオープンソースコミュニティがあります。チャンスは、誰かがあなたがしたいことをするためのモジュールを既に構築しているということです。あなたのケースでは

https://www.npmjs.com/package/amqp

queue.subscribe([オプション、]リスナー)ためのドキュメントから:

q.subscribe(function (message, headers, deliveryInfo, messageObject) { 
    console.log('Got a message with routing key ' + deliveryInfo.routingKey); 
}); 

+0

これは私の目的で使用しようとしているモジュールですが、これは単なる基本的な設定です。リスナーを追加してメッセージを読むために待ち行列を聞く方法などの詳細を探しています。 – user6860877

+1

彼らのドキュメントは非常に広範囲です。 https://www.npmjs.com/package/amqp#queuesubscribeoptions-listener – brandonscript

0

公式RabbitMQのチュートリアルは、基本的な例を提供しますNode.jsとamqp.nodeライブラリ(別名「amqplib」)を使用して、作業用コードを使用しています。

https://www.rabbitmq.com/tutorials/tutorial-one-javascript.html

を私もRabbitMQのとNode.js.で、地上から行くための完全なトレーニングガイドを持っている:私はそこに始まるお勧めします焦点は「microservices」に向かってプッシュすることですが、材料のコアは最初、RabbitMQのを学んでいる:あなたはまだこのに探しているなら、私達はちょうどノードでのRabbitMQのための私達のOSSライブラリをリリースしhttps://sub.watchmecode.net/guides/microservices-with-rabbitmq/

0

:BunnyBus(WWWを。 github.com/xogroup/bunnybus)

裏にamqplibを使用する超簡単なファサードです。

const BunnyBus = require('bunnybus'); 
const bunnyBus = new BunnyBus({ 
    protocol : process.env.RABBIT_PROTOCOL, 
    user  : process.env.RABBIT_USER, 
    password : process.env.RABBIT_PASSWORD, 
    server : process.env.RABBIT_SERVER, 
    port  : process.env.RABBIT_PORT, 
    vhost : process.env.RABBIT_V_HOST 
}); 

const messageHandler = { 
    'event-name': (message, acknowledge, reject, requeue) => { 
     // do your work with the message here 

     return acknowledge(); 
    } 
}; 

// This will auto-connect and create the queue and bindings if they do not exist 
bunnyBus.subscribe('queueName', messageHandler) 
    .then(() => { 
     const myMessage = {/*your contents here*/}; 
     return bunnyBus.publish(myMessage, { routeKey: 'event-name' }); 
    }); 
関連する問題