Merge branch 'master' of ssh://gitrw.chromium.org:9222/crosutils

This commit is contained in:
Scott Zawalski 2010-11-16 10:24:49 -08:00
commit 085b5d8fba

View File

@ -667,9 +667,10 @@ class DepGraphGenerator(object):
return {} return {}
def retry_urlopen(url, tries=3): def retry_urlopen(url, tries=3):
"""Open the specified url, retrying if we run into network errors. """Open the specified url, retrying if we run into temporary errors.
We do not retry for HTTP errors. We retry for both network errors and 5xx Server Errors. We do not retry
for HTTP errors with a non-5xx code.
Args: Args:
url: The specified url. url: The specified url.
@ -682,12 +683,17 @@ class DepGraphGenerator(object):
try: try:
return urllib2.urlopen(url) return urllib2.urlopen(url)
except urllib2.HTTPError as e: except urllib2.HTTPError as e:
raise if i + 1 >= tries or e.code < 500:
except urllib2.URLError as e:
if i + 1 == tries:
raise raise
else: else:
print "Cannot GET %s: %s" % (url, e) print "Cannot GET %s: %s" % (url, str(e))
except urllib2.URLError as e:
if i + 1 >= tries:
raise
else:
print "Cannot GET %s: %s" % (url, str(e))
print "Sleeping for 10 seconds before retrying..."
time.sleep(10)
url = os.path.join(binhost_url, "Packages") url = os.path.join(binhost_url, "Packages")
try: try: