12345678910111213141516171819202122232425262728293031323334353637 |
- const Redis = require('ioredis')
- const { isPlainObject } = require('lodash')
- /* global WIKI */
- module.exports = {
- init() {
- if (isPlainObject(WIKI.config.redis)) {
- let red = new Redis(WIKI.config.redis)
- red.on('ready', () => {
- WIKI.logger.info('Redis connection: [ OK ]')
- })
- red.on('error', () => {
- WIKI.logger.error('Failed to connect to Redis instance!')
- process.exit(1)
- })
- return red
- } else {
- WIKI.logger.error('Invalid Redis configuration!')
- process.exit(1)
- }
- },
- subscribe() {
- let red = this.init()
- red.on('message', (channel, msg) => {
- WIKI.events.emit(channel, msg)
- })
- red.subscribe('localization', (err, count) => {
- if (err) {
- WIKI.logger.error(err)
- process.exit(1)
- }
- WIKI.logger.info('Redis Subscriber connection: [ OK ]')
- })
- return red
- }
- }
|