Commit 541da0166f6047fcf3600965feb6048102d57d96

Authored by Adhidarma Hadiwinoto
1 parent 62a6839141
Exists in master

Partner last seen do not cache on process mem

Showing 1 changed file with 0 additions and 12 deletions Inline Diff

lib/partner-last-seen.js
1 "use strict"; 1 "use strict";
2 2
3 const REDIS_TTL_SECS = 3600 * 24 * 31; 3 const REDIS_TTL_SECS = 3600 * 24 * 31;
4 4
5 const config = require('komodo-sdk/config'); 5 const config = require('komodo-sdk/config');
6 // const logger = require('komodo-sdk/logger');
7 6
8 const redis = require('redis'); 7 const redis = require('redis');
9 const redisClient = redis.createClient(config.redis || { host: '127.0.0.1' }); 8 const redisClient = redis.createClient(config.redis || { host: '127.0.0.1' });
10 9
11 const _caches = {};
12
13
14 function _composeKeyword(partner) { 10 function _composeKeyword(partner) {
15 return `POCHINKI_PARTNER_LAST_SEEN_${ partner }`; 11 return `POCHINKI_PARTNER_LAST_SEEN_${ partner }`;
16 } 12 }
17 13
18 function get(partnerNumber) { 14 function get(partnerNumber) {
19 return new Promise(function(resolve) { 15 return new Promise(function(resolve) {
20 16
21 partnerNumber = (partnerNumber || '').replace(/^\+/, ''); 17 partnerNumber = (partnerNumber || '').replace(/^\+/, '');
22 18
23 if (!partnerNumber) { 19 if (!partnerNumber) {
24 resolve(null); 20 resolve(null);
25 } 21 }
26 else if (_caches[partnerNumber]) {
27 resolve(_caches[partnerNumber]);
28 }
29 else { 22 else {
30 const keyword = _composeKeyword(partnerNumber); 23 const keyword = _composeKeyword(partnerNumber);
31 // logger.verbose(`REDIS-DEBUG: GET`, {keyword});
32 24
33 redisClient.get(keyword, function(err, reply) { 25 redisClient.get(keyword, function(err, reply) {
34 if (err) { 26 if (err) {
35 resolve(null); 27 resolve(null);
36 } 28 }
37 else if (reply) { 29 else if (reply) {
38 resolve(Number(reply)); 30 resolve(Number(reply));
39 _caches[partnerNumber] = Number(reply);
40 } 31 }
41 else { 32 else {
42 resolve(null); 33 resolve(null);
43 } 34 }
44 }) 35 })
45 } 36 }
46 }) 37 })
47 } 38 }
48 39
49 function set(partnerNumber, modemName) { 40 function set(partnerNumber, modemName) {
50 partnerNumber = (partnerNumber || '').replace(/^\+/, ''); 41 partnerNumber = (partnerNumber || '').replace(/^\+/, '');
51 42
52 if (!partnerNumber || !modemName) { 43 if (!partnerNumber || !modemName) {
53 return; 44 return;
54 } 45 }
55 46
56 _caches[partnerNumber] = modemName;
57
58 const keyword = _composeKeyword(partnerNumber); 47 const keyword = _composeKeyword(partnerNumber);
59 // logger.verbose('REDIS-DEBUG: SET', { keyword })
60 redisClient.set(keyword, modemName, 'EX', REDIS_TTL_SECS); 48 redisClient.set(keyword, modemName, 'EX', REDIS_TTL_SECS);
61 } 49 }
62 50
63 exports.get = get; 51 exports.get = get;
64 exports.set = set; 52 exports.set = set;
65 53