LeagueStats/server/providers/Queue/index.js
2019-12-15 20:51:05 +01:00

38 lines
693 B
JavaScript

'use strict'
const BeeQueue = require('bee-queue')
class Queue {
constructor(Config) {
this.Config = Config
this._queuesPool = {}
}
get(name) {
/**
* If there is an instance of queue already, then return it
*/
if (this._queuesPool[name]) {
return this._queuesPool[name]
}
/**
* Read configuration using Config
* provider
*/
const config = this.Config.get(`queue.${name}`)
/**
* Create a new queue instance and save it's
* reference
*/
this._queuesPool[name] = new BeeQueue(name, config)
/**
* Return the instance back
*/
return this._queuesPool[name]
}
}
module.exports = Queue