-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRedisQueueClient.js
More file actions
65 lines (61 loc) · 1.78 KB
/
RedisQueueClient.js
File metadata and controls
65 lines (61 loc) · 1.78 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
const RedisSMQ = require('rsmq');
const Logger = require("./Logger");
const PropertiesReader = require('properties-reader');
const logger = new Logger().getInstance();
var properties = PropertiesReader('Configuration.properties');
const QUEUE_NAME = properties.get('QUEUE_NAME');
//Initiating RSMQ client.
const RSMQClient = new RedisSMQ({
host: "127.0.0.1",
port: 6379,
ns: "rsmq"
});
module.exports= {
createQueue:function() {
//Check if the queue exists
RSMQClient.listQueues(function(err, queues) {
if(err) {
logger.err("err");
return
}
if(!queues.includes("PERF")) {
logger.warn("Data queue not found. Creating a one for you.");
RSMQClient.createQueue({qname: QUEUE_NAME}, function(err, resp) {
if(err) {
logger.error(err);
return
}
if(resp === 1) {
logger.info("Queue Created.");
}
})
}
})
},
publishMessage:function(message) {
RSMQClient.sendMessage({
qname: properties.get('QUEUE_NAME'),
message: message,
}, function (err, resp) {
if(err) {
logger.error(err);
return
}
})
},
popMessage:function() {
RSMQClient.popMessage({
qname: properties.get('QUEUE_NAME')
}, function (err,resp) {
if(err) {
logger.error(err);
}
if(resp.id) {
// return resp;
console.log(resp.message);
} else {
return null;
}
})
}
}