Compare View

switch
from
...
to
 
Commits (5)

Changes

Showing 2 changed files Side-by-side Diff

gateway/resend-delay.js
... ... @@ -5,83 +5,54 @@ var LRU = require('lru-cache');
5 5 const config = require('./config');
6 6 const logger = require('./logger');
7 7  
8   -var topupRequest;
9   -var resendHandlers = LRU({max: 2000, maxAge: 1000 * 3600 * 36});
10   -
11   -function init(options) {
12   - if (options && options.request) {
13   - request = options.request;
14   - } else {
15   - logger.warn('Undefined options.request, terminating....');
16   - process.exit(1);
17   - }
18   -}
  8 +const resendHandlers = LRU({max: 2000, maxAge: 1000 * 3600 * 36});
19 9  
20 10 function cancel(task) {
21   - var requestId;
22   - if (typeof task === 'string') {
23   - requestId = task;
24   - } else {
25   - requestId = task.requestId;
26   - }
27   -
28   - if (!requestId) {
29   - return;
30   - }
31   -
32   - var oldHandler = resendHandlers.get(requestId);
33   - if (!oldHandler) {
34   - return;
35   - }
  11 + const trx_id = ( typeof task === 'string' ) ? task : task.trx_id;
  12 + if (!trx_id) { return; }
36 13  
37   - logger.verbose('Canceling resend delay', {task: oldHandler.task});
  14 + const oldHandler = resendHandlers.get(trx_id);
  15 + if (!oldHandler) { return; }
38 16  
39   - try {
40   - if (oldHandler.handler) {
41   - clearTimeout(oldHandler.handler);
42   - }
43   - }
44   - catch(e) {};
  17 + const task = oldHandler.task;
  18 + logger.verbose('Canceling resend delay', {trx_id: task.trx_id, destination: task.destination, product: task.product, remote_product: task.remote_product});
45 19  
46   - try {
47   - resendHandlers.del(requestId);
48   - }
49   - catch(e) {};
  20 + if (oldHandler.handler) { clearTimeout(oldHandler.handler); }
  21 + resendHandlers.del(trx_id);
50 22 }
51 23  
52   -function register(task) {
53   - if (!task.requestId) {
  24 +function register(task, request) {
  25 + if (!task.trx_id) {
54 26 logger.warn('Invalid task on resendDelay')
55 27 return;
56 28 }
57 29  
58   - if (!config || !config.auto_resend || !Number(config.auto_resend.delay_ms) || !Number(config.auto_resend.max_retry)) {
  30 + if (!request || !config || !config.auto_resend || !Number(config.auto_resend.delay_ms) || !Number(config.auto_resend.max_retry)) {
59 31 return;
60 32 }
61 33  
62   - var retry = config.auto_resend.max_retry;
63   - var oldHandler = resendHandlers.get(task.requestId);
  34 + let retry = config.auto_resend.max_retry;
  35 + const oldHandler = resendHandlers.get(task.trx_id);
64 36 if (oldHandler) {
65 37 retry = oldHandler.retry - 1;
66 38 cancel(task);
67 39 }
68 40  
69 41 if (retry <= 0) {
70   - logger.verbose('Resend delay retry exceeded', {task: task});
  42 + logger.verbose('Resend delay retry exceeded', {trx_id: task.trx_id, destination: task.destination, product: task.product, remote_product: task.remote_product});
71 43 cancel(task);
72 44 return;
73 45 }
74 46  
75   - logger.verbose('Registering resend delay task request', {task: task, delay_ms: config.auto_resend.delay_ms, retry: retry});
76   - var handlerData = {
  47 + logger.verbose('Registering resend delay task request', {trx_id: task.trx_id, destination: task.destination, product: task.product, remote_product: task.remote_product, delay_ms: config.auto_resend.delay_ms, retry: retry});
  48 + const handlerData = {
77 49 handler: setTimeout(request, config.auto_resend.delay_ms, task),
78 50 task: task,
79 51 retry: retry
80 52 }
81 53  
82   - resendHandlers.set(task.requestId, handlerData);
  54 + resendHandlers.set(task.trx_id, handlerData);
83 55 }
84 56  
85   -exports.init = init;
86 57 exports.cancel = cancel;
87 58 exports.register = register;
1 1 {
2 2 "name": "komodo-sdk",
3   - "version": "1.20.3",
  3 + "version": "1.21.0",
4 4 "description": "SDK for Komodo",
5 5 "main": "index.js",
6 6 "scripts": {