Commit b84090305166723fcdf2e8e642e46889299caebe
1 parent
3e96a0f029
Exists in
master
max retry
Showing 1 changed file with 22 additions and 9 deletions Side-by-side Diff
partner-cjk.js
... | ... | @@ -119,6 +119,12 @@ function topupResponseHandler(body) { |
119 | 119 | trxid = result.ciwaru.trxid[0]; |
120 | 120 | } |
121 | 121 | |
122 | + var task = taskCache.get(trxid); | |
123 | + if (!task) { | |
124 | + logger.warn('Got reply for undefined task'); | |
125 | + return; | |
126 | + } | |
127 | + | |
122 | 128 | if (message.indexOf('PENDING') >= 0) { |
123 | 129 | rc = '68'; |
124 | 130 | } |
... | ... | @@ -133,16 +139,21 @@ function topupResponseHandler(body) { |
133 | 139 | } |
134 | 140 | } |
135 | 141 | |
136 | - callbackReport(trxid, rc, message); | |
142 | + if ((task.retry == maxRetry) || (rc != '68')) { | |
143 | + callbackReport(trxid, rc, message); | |
144 | + } | |
137 | 145 | |
138 | 146 | if (rc == '68') { |
139 | - task = taskCache.get(trxid); | |
140 | - if (!task) { | |
141 | - return; | |
147 | + task.retry--; | |
148 | + taskCache.set(trxid, task); | |
149 | + | |
150 | + if (task.retry) { | |
151 | + logger.info('Got pending status, retrying in ' + sleepBeforeRetry + 's'); | |
152 | + setTimeout(topupRequest, sleepBeforeRetry * 1000, task); | |
153 | + } | |
154 | + else { | |
155 | + logger.warn('Maximum retry for pending status exceeded', {task: task}); | |
142 | 156 | } |
143 | - | |
144 | - logger.info('Got pending status, retrying in ' + sleepBeforeRetry + 's'); | |
145 | - setTimeout(topupRequest, sleepBeforeRetry * 1000, task); | |
146 | 157 | } else { |
147 | 158 | taskCache.del(trxid); |
148 | 159 | } |
... | ... | @@ -150,8 +161,10 @@ function topupResponseHandler(body) { |
150 | 161 | } |
151 | 162 | |
152 | 163 | function topupRequest(task, retry) { |
153 | - | |
154 | - logger.info('Executing task', {retry: retry}); | |
164 | + | |
165 | + if (retry === undefined) { | |
166 | + task.retry = maxRetry; | |
167 | + } | |
155 | 168 | |
156 | 169 | taskCache.set(task.requestId, task); |
157 | 170 |