Commit 365bfd35578ba82f288316dae87e2e5142e2fde4
1 parent
c01126a249
Exists in
master
penanaganan error connect
Showing 1 changed file with 28 additions and 12 deletions Side-by-side Diff
partner-bayarkilat.js
... | ... | @@ -123,24 +123,40 @@ function requestToPartner(methodName, task, retry) { |
123 | 123 | logger.info('Requesting to partner', {requestOption: options}); |
124 | 124 | request(options, function(error, response, body) { |
125 | 125 | if (error) { |
126 | - logger.warn('Error requesting to partner', {error: error}); | |
127 | - callbackReport(task.requestId, '68', 'Error requesting to partner. ' + error); | |
126 | + var msg = 'Error requesting to partner. ' + error; | |
127 | + var rc = '68'; | |
128 | + | |
129 | + try { | |
130 | + if (methodName == 'PURCHASE') { | |
131 | + if (error.connect === true && (error.code === 'ETIMEDOUT' || error.code === 'ECONNREFUSED')) { | |
132 | + rc = '40'; | |
133 | + } | |
134 | + } | |
135 | + } | |
136 | + catch(e) { | |
137 | + logger.warn('Parsing error exception on requestToPartner()'); | |
138 | + } | |
139 | + | |
140 | + logger.warn(msg, {error: error}); | |
141 | + callbackReport(task.requestId, rc, msg); | |
128 | 142 | |
129 | 143 | var _response = { |
130 | - raw: 'Error requesting to partner. ' + error, | |
144 | + raw: JSON.stringify(msg: msg, error: error), | |
131 | 145 | parsed: { |
132 | - MESSAGE: 'Error requesting to partner. ' + error, | |
146 | + MESSAGE: msg | |
133 | 147 | error: error |
134 | 148 | } |
135 | 149 | } |
136 | - aaa.pushResponseToMongoDb(task, _response, '68'); | |
137 | - | |
138 | - setTimeout( | |
139 | - topupCheck, | |
140 | - delayBeforeCheckRetry, | |
141 | - task, | |
142 | - retry | |
143 | - ); | |
150 | + aaa.pushResponseToMongoDb(task, _response, rc); | |
151 | + | |
152 | + if (rc == '68') { | |
153 | + setTimeout( | |
154 | + topupCheck, | |
155 | + delayBeforeCheckRetry, | |
156 | + task, | |
157 | + retry | |
158 | + ); | |
159 | + } | |
144 | 160 | |
145 | 161 | return; |
146 | 162 | } |