2020-11-04 08:35:37 -05:00
|
|
|
const Queue = require('bull')
|
|
|
|
const Settings = require('settings-sharelatex')
|
|
|
|
|
2020-11-12 09:09:41 -05:00
|
|
|
const analyticsQueues = {}
|
|
|
|
|
|
|
|
function initialize() {
|
|
|
|
if (Settings.analytics.enabled) {
|
|
|
|
analyticsQueues.events = createQueue('analytics-events')
|
|
|
|
analyticsQueues.editingSessions = createQueue('analytics-editing-sessions')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-11-04 08:35:37 -05:00
|
|
|
function createQueue(queueName, defaultJobOptions) {
|
|
|
|
return new Queue(queueName, {
|
|
|
|
redis: Settings.redis.queues,
|
|
|
|
defaultJobOptions: {
|
|
|
|
removeOnComplete: true,
|
|
|
|
attempts: 11,
|
|
|
|
backoff: {
|
|
|
|
type: 'exponential',
|
|
|
|
delay: 3000
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2020-11-12 09:09:41 -05:00
|
|
|
module.exports = { initialize, analytics: analyticsQueues }
|