Commit a24fe9cc67b63271ea575b220dab78708a9d146e

Authored by Adhidarma Hadiwinoto
1 parent f9501d5698
Exists in master

ready to run

Showing 2 changed files with 38 additions and 2 deletions Inline Diff

1 var name = 'Store DOMPUL stock';
2 var logger = require('winston');
3 logger.info('Starting ' + name);
4
5 logger.info('Parsing config file');
1 var iniparser = require('iniparser'); 6 var iniparser = require('iniparser');
2 var config = iniparser.parseSync('./config.ini'); 7 var config = iniparser.parseSync('./config.ini');
3 8
9 logger.info('Creating redis clients for ' + config.globals.redis_host + ':' + config.globals.redis_port);
4 var redis = require('redis'); 10 var redis = require('redis');
5 var redisClient = redis.createClient(); 11 var redisClient = redis.createClient(config.globals.redis_port, config.globals.redis_host);
12 var redisSubscriber = redis.createClient(config.globals.redis_port, config.globals.redis_host);
13
14 redisSubscriber.on('message', function(channel, message) {
15 if (channel == config.channels.dompul_proxy_topup) {
16 var params = JSON.parse(message);
17
18 if (params['resp_code'] != '00') return;
19
20 redisClient.hset('stock.dompul.by-denom.' + params['ussd_nom'], params['ussd_chipinfo'], parseInt(params['ussd_stok']));
21 redisClient.hset('stock.dompul.by-chipinfo.' + params['ussd_chipinfo'], params['ussd_nom'], parseInt(params['ussd_stok']));
22
23 var key = 'stock.dompul.by-denom.' + params['ussd_nom'];
24 redisClient.hgetall(key, function(err, obj) {
25 var chips = Object.getOwnPropertyNames(obj);
26 var chipsCount = chips.length;
27 var total = 0;
28 for (var i = 0; i < chipsCount; i++) {
29 total = total + parseInt(obj[chips[i]]);
30 }
31
32 logger.info(params['ussd_nom'] + ': ' + total);
33 });
34 }
35 });
36
37
38 logger.info('Subscribing redis channel');
39 redisSubscriber.subscribe(config.channels.dompul_proxy_topup);
40 logger.info('Waiting for redis message');
6 41
1 { 1 {
2 "name": "store-dompul-stock", 2 "name": "store-dompul-stock",
3 "version": "0.0.1", 3 "version": "0.0.1",
4 "description": "Store DOMPUL stock in Redis", 4 "description": "Store DOMPUL stock in Redis",
5 "main": "index.js", 5 "main": "index.js",
6 "scripts": { 6 "scripts": {
7 "test": "mocha" 7 "test": "mocha"
8 }, 8 },
9 "repository": { 9 "repository": {
10 "type": "git", 10 "type": "git",
11 "url": "git@gitlab.kodesumber.com:reload97/store-dompul-stock.git" 11 "url": "git@gitlab.kodesumber.com:reload97/store-dompul-stock.git"
12 }, 12 },
13 "keywords": [ 13 "keywords": [
14 "Reload97", 14 "Reload97",
15 "ST24", 15 "ST24",
16 "PPOB", 16 "PPOB",
17 "Server", 17 "Server",
18 "Pulsa" 18 "Pulsa"
19 ], 19 ],
20 "author": "Adhidarma Hadiwinoto", 20 "author": "Adhidarma Hadiwinoto",
21 "license": "BSD", 21 "license": "BSD",
22 "dependencies": { 22 "dependencies": {
23 "redis": "~0.12.1", 23 "redis": "~0.12.1",
24 "hiredis": "~0.3.0", 24 "hiredis": "~0.3.0",
25 "iniparser": "~1.0.5" 25 "iniparser": "~1.0.5",
26 "winston": "~1.0.0"
26 } 27 }
27 } 28 }
28 29