Advertisement
Guest User

Untitled

a guest
May 8th, 2017
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. var amqp = require('amqplib/callback_api');
  2. var channel = null
  3. var connection = null
  4. var closeOnErr = function (err) {
  5. if (!err) return false;
  6. console.log("[AMQP] error", err);
  7. connection.close();
  8. return true;
  9. }
  10. var subscribe = function () {
  11. connection.createChannel(function (err, ch) {
  12. if (closeOnErr(err)) return;
  13. ch.on("error", function (err) {
  14. console.log("[AMQP] channel error", err.message);
  15. });
  16. ch.on("close", function () {
  17. console.log("[AMQP] channel closed");
  18. });
  19. channel = ch
  20. var ex = 'YOUR USERNAME'// YOUR USERNAME emiza@emiza.com
  21. ch.assertExchange(ex, 'direct', {durable: false});
  22. ch.assertQueue('', {exclusive: true}, function (err, q) {
  23. console.log(" [*] Waiting for messages in %s. To exit press CTRL+C", q.queue);
  24. ch.bindQueue(q.queue, ex, '');
  25. ch.consume(q.queue, function (msg) {
  26. console.log(" [x] Received %s", msg.content.toString());
  27. }, {noAck: true});
  28. });
  29. });
  30. };
  31. function connectRabbitMq() {
  32. var username = "YOUR USERNAME"
  33. var password = "YOUR PASSWORD"
  34. var host = "fj7sfvkp934a.numadic.com"
  35. var url = "amqp://" + username + ":" + password + "@" + host;
  36. amqp.connect(url, function (err, conn) {
  37. if (err) {
  38. return setTimeout(connectRabbitMq, 2000);
  39. }
  40. conn.on('error', function (err) {
  41. console.log("[AMQP] conn error", err.message);
  42. });
  43.  
  44. conn.on("close", function () {
  45. console.log("[AMQP] reconnecting");
  46. return setTimeout(connectRabbitMq, 1000);
  47. });
  48. connection = conn
  49. subscribe();
  50. });
  51. }
  52. connectRabbitMq()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement