evque
v0.0.7
Published
AMQP-based event bus
Downloads
33
Maintainers
Readme
evque
AMQP-based event bus.
Installation
npm i evque --save
Description
Each event
= exchange
of fanout
type, named after event.
Each subscriber
= queue
bound to exchange
, named after event and subscriber.
Motivation
- simple project bootstrap
- events are preserved across broker restarts
- events will wait for their listeners (will not disappear if listener is offline)
Example
var bus = require('evque')('amqp://localhost');
bus.on('error', function (ev) {
console.log(
'listener %s failed to handle event %s (%j) due to %s',
ev.listener, ev['event'], ev.data, ev.error.stack
);
});
bus.on('connection-error', function () {
console.log('connection closed by RabbitMQ. Restart your app?');
});
bus.subscribe('event1', 'listener1', function (data) {
console.log('listener1 received event1 (%j)', data);
});
bus.subscribe('event1', 'listener2', function (data) {
console.log('listener2 received event1 (%j)', data);
});
bus.publish('event1', { a: 'b' });
License
MIT