I'm getting a major delay here (> 30 seconds):
latest_version_per_milestone = json.load(urllib.request.urlopen(version_url))
Adding a timeout seems to solve it:
latest_version_per_milestone = json.load(urllib.request.urlopen(version_url, timeout=2))
Consider adding a timeout, otherwise, it is None!
https://stackoverflow.com/questions/29649173/what-is-the-global-default-timeout
A more robust solution could be:
def fetch_json(url: str, timeout_connect: float = 2.0, timeout_read: float = 5.0) -> dict:
req = urllib.request.Request(url, headers={"Accept": "application/json"})
with urllib.request.urlopen(req, timeout=timeout_connect) as resp:
return json.loads(resp.read().decode("utf-8"))
latest_version_per_milestone = fetch_json(version_url)
I'm getting a major delay here (> 30 seconds):
latest_version_per_milestone = json.load(urllib.request.urlopen(version_url))Adding a timeout seems to solve it:
latest_version_per_milestone = json.load(urllib.request.urlopen(version_url, timeout=2))Consider adding a timeout, otherwise, it is None!
https://stackoverflow.com/questions/29649173/what-is-the-global-default-timeout
A more robust solution could be: