Retry GET requests at least 10 times

This commit is contained in:
Lode Hoste 2015-03-22 23:51:39 +01:00
parent 07027af420
commit 8e014ce0cd
1 changed files with 35 additions and 27 deletions

View File

@ -49,6 +49,8 @@ public class GetTask extends AsyncTask<String, Void, String> {
*/ */
@Override @Override
protected String doInBackground(String... params) { protected String doInBackground(String... params) {
// Retry at most 10 times before failing
for (int i = 0; i < 10; i++) {
String fullUri = params[0] + params[1]; String fullUri = params[0] + params[1];
HttpClient httpclient = new DefaultHttpClient(); HttpClient httpclient = new DefaultHttpClient();
if (params.length == 5) { if (params.length == 5) {
@ -78,6 +80,12 @@ public class GetTask extends AsyncTask<String, Void, String> {
} catch (IOException e) { } catch (IOException e) {
Log.w(TAG, "Failed to call Rest API at " + fullUri, e); Log.w(TAG, "Failed to call Rest API at " + fullUri, e);
} }
try {
// Don't push the API too hard
Thread.sleep(100);
} catch (InterruptedException e) { }
Log.w(TAG, "Retrying GetTask Rest API call ("+i+")");
}
return null; return null;
} }