import time try: # py2 import urllib2 as urllib from urllib2 import URLError import socket import httplib EXCEPTIONS = (URLError, socket.error, httplib.BadStatusLine) except ImportError: # py3 import urllib.request as urllib from urllib.error import URLError import socket EXCEPTIONS = (URLError, socket.timeout, ConnectionResetError) start_ts = time.time() print("Waiting for service to come up") while True: try: urllib.urlopen("http://localhost:5000/", timeout=1) break except EXCEPTIONS: elapsed_s = time.time() - start_ts if elapsed_s > 120: raise print(".") time.sleep(1)