Commit 2ab44488992212336d81560643b9283ff310aff7
1 parent
0652d16768
Exists in
master
and in
1 other branch
sleepAndResend
Showing 1 changed file with 21 additions and 2 deletions Side-by-side Diff
transport.js
... | ... | @@ -97,8 +97,25 @@ function init(cb) { |
97 | 97 | createHttpServer(); |
98 | 98 | } |
99 | 99 | |
100 | -function send(partner, msg, params) { | |
101 | - logger.verbose('Got response from CORE', {partner: partner, msg: msg, params: params}); | |
100 | +function _sleepAndResend(partner, msg, params, retry) { | |
101 | + if (retry === null || retry === undefined) { | |
102 | + retry = Number(config.max_send_retry) || 5; | |
103 | + } | |
104 | + | |
105 | + if (retry > 0) { | |
106 | + setTimeout( | |
107 | + function() { | |
108 | + send(partner, msg, params, retry); | |
109 | + }, | |
110 | + (Number(config.sleep_before_retry_secs) || 60) * 1000 | |
111 | + ) | |
112 | + } | |
113 | +} | |
114 | + | |
115 | +function send(partner, msg, params, retry) { | |
116 | + if (!retry) { | |
117 | + logger.verbose('Got response from CORE', {partner: partner, msg: msg, params: params}); | |
118 | + } | |
102 | 119 | |
103 | 120 | if (!params || !params.reverse_url) { |
104 | 121 | logger.verbose('Undefined reverse_url, not forwarding message to partner'); |
... | ... | @@ -115,11 +132,13 @@ function send(partner, msg, params) { |
115 | 132 | request(reqOptions, function(err, res, body) { |
116 | 133 | if (err) { |
117 | 134 | logger.warn('Error sending reverse report to partner', {request: reqOptions, err: err}); |
135 | + _sleepAndResend(partner, msg, params, retry); | |
118 | 136 | return; |
119 | 137 | } |
120 | 138 | |
121 | 139 | if (res.statusCode != 200) { |
122 | 140 | logger.warn('Partner not returning HTTP status code 200 on reverse report', {request: reqOptions, http_status: res.statusCode}); |
141 | + _sleepAndResend(partner, msg, params, retry); | |
123 | 142 | return; |
124 | 143 | } |
125 | 144 |