-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstudyMessageQueue.js
37 lines (33 loc) · 1.01 KB
/
studyMessageQueue.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
const Queue = require('bull');
const config = require('config');
const studyMessageUpdate = require('./studyMessageUpdate');
const { CRONTAB_FOR_STUDY_MESSAGE_UPDATE } = require('./constants');
const { logger } = require('./logger');
function start() {
const studyMessageQueue = Queue(
'study message queue',
{
redis: {
host: config.redis.host,
port: config.redis.port
}
}
);
studyMessageQueue.process(function(job, done) {
logger.log("processing the study message queue", Date.now());
studyMessageUpdate().then(() => {
logger.log("Done processing study message queue", Date.now());
done();
})
.catch(e => {
logger.log(`Study message update failed, ${JSON.stringify(e)}`, Date.now());
logger.log('error', `Study message update failed, ${JSON.stringify(e)}`);
done();
});
});
studyMessageQueue.add({}, {
repeat: {cron: CRONTAB_FOR_STUDY_MESSAGE_UPDATE },
removeOnComplete: true
});
}
module.exports = { start };