| 1234567891011121314151617181920212223242526272829303132333435 | const Bull = require('bull')const Promise = require('bluebird')/* global WIKI */module.exports = {  init() {    WIKI.data.queues.forEach(queueName => {      this[queueName] = new Bull(queueName, {        prefix: `q-${WIKI.config.ha.nodeuid}`,        redis: WIKI.config.redis      })    })    return this  },  clean() {    return Promise.each(WIKI.data.queues, queueName => {      return new Promise((resolve, reject) => {        let keyStream = WIKI.redis.scanStream({          match: `q-${WIKI.config.ha.nodeuid}:${queueName}:*`        })        keyStream.on('data', resultKeys => {          if (resultKeys.length > 0) {            WIKI.redis.del(resultKeys)          }        })        keyStream.on('end', resolve)      })    }).then(() => {      WIKI.logger.info('Purging old queue jobs: [ OK ]')    }).return(true).catch(err => {      WIKI.logger.error(err)    })  }}
 |