amqplib wrapper for easier rabbitmq scripting of topics queue
npm install @jackrabbit/topics
The exported function takes the same parameters as amqplib.connect
,
and returns a object with two exported functions, publish
and subscribe
.
Sends data to the topic exchange and yeilds
const { publish } = require('@jackrabbit/topics')(url)
publish('tasks', 'servo.provision', { message: true }, (err) => {
if (err) throw err // unable to publish
console.log('message delivered')
})
Consumes matching topic messages on the exchange
const { subscribe } = require('@jackrabbit/topics')(url)
subscribe('tasks', 'servo.#', (message, done) => {
// do work
done(null, { result: true })
})
Contributions welcome! Please read the contributing guidelines first.