2017-01-09 1 views
1

Je suis un nouvel utilisateur qui essaie d'implémenter RabbitMQ sur mon code nodejs. J'ai mentionné quelques exemples d'utilisation, mais je ne sais toujours pas comment l'utiliser en temps réel. J'essaie d'utiliser Rabbit MQ pour lire les messages hors de la file d'attente. Comment puis-je lire les messages de la file d'attente sur nodejs?Comment consommer des messages de RabbitMQ sur nodejs

Merci d'avance! Node.js possède une communauté open-source massive qui contribue à npmjs.org.

+0

Il existe des tutoriels pour javascript sur le site Web. Avez-vous même vérifié les? https://www.rabbitmq.com/getstarted.html – djones

+0

@djones oui je l'ai fait! – user6860877

Répondre

1

Les chances sont, quelqu'un a déjà construit un module pour faire ce que vous voulez faire.

Dans votre cas, https://www.npmjs.com/package/amqp

De la documentation pour queue.subscribe ([options,] auditeur):

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

+0

C'est le module que j'essaie d'utiliser de mon côté, mais ce n'est qu'une configuration de base. Je cherche plus de détails comme comment ajouter un écouteur et le faire écouter à la file d'attente pour lire les messages. – user6860877

+1

Leurs documents sont très étendus. https://www.npmjs.com/package/amqp#queuesubscribeoptions-listener – brandonscript

0

les tutoriels officiels RabbitMQ offrent des exemples de base scénarios, avec le code de travail, en utilisant Node.js et la bibliothèque amqp.node (aka "amqplib"). Je recommande de commencer là:

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

i ont aussi un guide complet de formation pour aller à partir du sol, avec RabbitMQ et Node.js. L'objectif est de pousser vers "microservices", mais le cœur du matériel est l'apprentissage RabbitMQ, d'abord:

0

Si vous êtes toujours à la recherche dans ce domaine, nous venons de publier notre bibliothèque OSS pour RabbitMQ dans le nœud: BunnyBus (www. github.com/xogroup/bunnybus)

Il s'agit d'une façade super facile qui utilise amqplib en coulisse.

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' }); 
    });