retries added to GitHub GraphQL API requests

This commit is contained in:
pseusys
2023-02-28 17:26:52 +01:00
parent 356e4437f1
commit 12989d35ad

View File

@@ -227,7 +227,7 @@ class DownloadManager:
return await DownloadManager._get_remote_resource(resource, safe_load) return await DownloadManager._get_remote_resource(resource, safe_load)
@staticmethod @staticmethod
async def _fetch_graphql_query(query: str, **kwargs) -> Dict: async def _fetch_graphql_query(query: str, retries_count: int = 10, **kwargs) -> Dict:
""" """
Execute GitHub GraphQL API simple query. Execute GitHub GraphQL API simple query.
:param query: Dynamic query identifier. :param query: Dynamic query identifier.
@@ -241,6 +241,8 @@ class DownloadManager:
) )
if res.status_code == 200: if res.status_code == 200:
return res.json() return res.json()
elif res.status_code == 502 and retries_count > 0:
return await DownloadManager._fetch_graphql_query(query, retries_count - 1, **kwargs)
else: else:
raise Exception(f"Query '{query}' failed to run by returning code of {res.status_code}: {res.json()}") raise Exception(f"Query '{query}' failed to run by returning code of {res.status_code}: {res.json()}")