Standardize automatic retry and add a 15 seconds sleep to increase the chances of success

Review URL: http://codereview.chromium.org/1812001

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@46067 0039d316-1c4b-4281-b951-d872f2087c98
experimental/szager/collated-output
maruel@chromium.org 15 years ago
parent fcff927b8c
commit fd87617b28

@ -9,6 +9,7 @@ import os
import posixpath
import re
import subprocess
import time
import scm
import gclient_utils
@ -252,21 +253,22 @@ class GitWrapper(SCMWrapper):
raise gclient_utils.Error('Invalid Upstream')
# Update the remotes first so we have all the refs.
for _ in range(3):
for _ in range(10):
try:
remote_output, remote_err = scm.GIT.Capture(
['remote'] + verbose + ['update'],
self.checkout_path,
print_error=False)
break
except gclient_utils.CheckCallError, e:
except gclient_utils.CheckCallError:
# Hackish but at that point, git is known to work so just checking for
# 502 in stderr should be fine.
if '502' in e.stderr:
print str(e)
print "Retrying..."
print "Sleeping 15 seconds and retrying..."
time.sleep(15)
continue
raise e
raise
if verbose:
print remote_output.strip()

@ -11,6 +11,7 @@ import shutil
import subprocess
import sys
import tempfile
import time
import xml.dom.minidom
import gclient_utils
@ -399,7 +400,7 @@ class SVN(object):
}[args[0]]
compiled_pattern = re.compile(pattern)
# Place an upper limit.
for _ in range(1, 10):
for _ in range(10):
previous_list_len = len(file_list)
failure = []
@ -423,6 +424,8 @@ class SVN(object):
if args[0] == 'checkout':
# An aborted checkout is now an update.
args = ['update'] + args[1:]
print "Sleeping 15 seconds and retrying...."
time.sleep(15)
continue
# No progress was made or an unknown error we aren't sure, bail out.
raise

Loading…
Cancel
Save