Commit e343388d00223d0ecdb627488555904eec45c6c0
1 parent
f9cc9b6420
Exists in
master
resend delay
Showing 2 changed files with 35 additions and 3 deletions Side-by-side Diff
partner-misc.js
partner.js
... | ... | @@ -48,7 +48,8 @@ function _requestToPartner(task, pendingOnError) { |
48 | 48 | trx_id: task.trx_id, |
49 | 49 | rc: rc, |
50 | 50 | message: 'Error requesting to partner: ' + err, |
51 | - handler: config.handler_name | |
51 | + handler: config.handler_name, | |
52 | + task: task | |
52 | 53 | }) |
53 | 54 | |
54 | 55 | return; |
... | ... | @@ -62,7 +63,8 @@ function _requestToPartner(task, pendingOnError) { |
62 | 63 | trx_id: task.trx_id, |
63 | 64 | rc: rc, |
64 | 65 | message: 'Partner returning HTTP STATUS CODE ' + res.statusCode + ' instead of 200', |
65 | - handler: config.handler_name | |
66 | + handler: config.handler_name, | |
67 | + task: task | |
66 | 68 | }) |
67 | 69 | |
68 | 70 | return; |
... | ... | @@ -77,6 +79,36 @@ function _requestToPartner(task, pendingOnError) { |
77 | 79 | */ |
78 | 80 | function reportToCore(data) { |
79 | 81 | pull.report(data); |
82 | + | |
83 | + let delay = 60 * 1000; | |
84 | + if (config.auto_resend.delay_ms) { | |
85 | + delay = Number(config.auto_resend.delay_ms); | |
86 | + } | |
87 | + | |
88 | + let max_retry = 60; | |
89 | + if (config.auto_resend.max_retry) { | |
90 | + max_retry = Number(config.auto_resend.max_retry); | |
91 | + } | |
92 | + | |
93 | + if (data && data.task && data.rc == '68') { | |
94 | + setTimeout( | |
95 | + function() { | |
96 | + | |
97 | + if (data.task.remaining_retry === undefined) { | |
98 | + data.task.remaining_retry = max_retry; | |
99 | + } | |
100 | + | |
101 | + if (data.task.remaining_retry--) { | |
102 | + logger.verbose('Got pending status, retrying', {task: data.task}); | |
103 | + statusCheck(data.task); | |
104 | + } | |
105 | + else { | |
106 | + logger.verbose('Exceeding retry pending status', {task: data.task}); | |
107 | + } | |
108 | + }, | |
109 | + delay | |
110 | + ) | |
111 | + } | |
80 | 112 | } |
81 | 113 | |
82 | 114 | exports.buy = buy; |