handle 404 and 503 transient errors

This commit is contained in:
Romain Primet
2018-07-13 14:56:00 +00:00
parent c24b536bd9
commit 61a7f80df2

View File

@@ -145,16 +145,16 @@ def ensure_jupyterhub_running(times=4):
print('Waiting for JupyterHub to come up ({}/{} tries)'.format(i + 1, times)) print('Waiting for JupyterHub to come up ({}/{} tries)'.format(i + 1, times))
urlopen('http://127.0.0.1') urlopen('http://127.0.0.1')
return return
except URLError as e: except HTTPError as h:
if isinstance(e.reason, ConnectionRefusedError): if h.code in [404, 503]:
# Hub isn't up yet, sleep & loop # May be transient
time.sleep(1) time.sleep(1)
continue continue
# Everything else should immediately abort # Everything else should immediately abort
raise raise
except HTTPError as h: except URLError as e:
if h.code in [404, 503]: if isinstance(e.reason, ConnectionRefusedError):
# May be transient # Hub isn't up yet, sleep & loop
time.sleep(1) time.sleep(1)
continue continue
# Everything else should immediately abort # Everything else should immediately abort