redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
51 lines • 1.8 kB
JavaScript
export function eventBusPublisher(producer, eventBus, logger) {
const up = (...args) => {
const instance = eventBus.getInstance();
if (instance instanceof Error)
logger.error(instance);
else
instance.emit('producer.up', ...args);
};
const down = (...args) => {
const instance = eventBus.getInstance();
if (instance instanceof Error)
logger.error(instance);
else
instance.emit('producer.down', ...args);
};
const goingUp = (...args) => {
const instance = eventBus.getInstance();
if (instance instanceof Error)
logger.error(instance);
else
instance.emit('producer.goingUp', ...args);
};
const goingDown = (...args) => {
const instance = eventBus.getInstance();
if (instance instanceof Error)
logger.error(instance);
else
instance.emit('producer.goingDown', ...args);
};
const messagePublished = (...args) => {
const instance = eventBus.getInstance();
if (instance instanceof Error)
logger.error(instance);
else
instance.emit('producer.messagePublished', ...args);
};
const error = (...args) => {
const instance = eventBus.getInstance();
if (instance instanceof Error)
logger.error(instance);
else
instance.emit('producer.error', ...args);
};
producer.on('producer.goingDown', goingDown);
producer.on('producer.goingUp', goingUp);
producer.on('producer.up', up);
producer.on('producer.down', down);
producer.on('producer.messagePublished', messagePublished);
producer.on('producer.error', error);
}
//# sourceMappingURL=event-bus-publisher.js.map