
atrix-pubsub
Acoltatori based Pub/Sub intigraition into atrix microservice framework
Features
- Connection setup
- filename based handler registrations
Installation
npm install -S @trigo/atrix
npm install -S @trigo/atrix-pubsub
Configuration
handlers/my/facncy^*.js
const Joi = require('joi');
module.exports.descrioption = 'my fancy event handler'
module.exports.schema = joi.object({ ... });
module.exports.handler = async (req, reply, service) => {
console.log(req)
// {
// path: 'my/fanzy/event',
// payload: { an: 'event', with: { da: 'ta' } }
// log: {<logger object>}
// }
// publish anohter message
await service.publish('other/event', { ... });
}
index.js
'use strict';
const atrix = require('@trigo/atrix');
const path = require('path');
atrix.addService(new atrix.Service('pubsub', {
pubsub: {
redis: {
host: 'localhost',
port: 6379,
},
broker: 'redis'
handlerDir: path.join(__dirname, './handlers'),
},
}));
await atrix.services.pubsub.start();
await atrix.services.pubsub.publish('my/fancy/topic', { an: 'event', with: { da: 'ta' } });