Skip to content

Commit

Permalink
better sleep in between failed api retries
Browse files Browse the repository at this point in the history
  • Loading branch information
grantbuster committed Oct 24, 2023
1 parent e854b3e commit b4554e9
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions elm/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
ELM abstract class for API calls
"""
from abc import ABC
import copy
import numpy as np
import asyncio
import aiohttp
Expand Down Expand Up @@ -401,6 +402,7 @@ def __init__(self, url, headers, request_jsons, ignore_error=None,
self.out = [None] * len(self)
self.errors = [None] * len(self)
self.tries = np.zeros(len(self))
self._retry = False

def __len__(self):
"""Number of API calls to submit"""
Expand Down Expand Up @@ -462,7 +464,7 @@ async def collect_jobs(self):
else:
del self.api_jobs[i]
msg += ' Retrying query.'

self._retry = True
logger.error(msg)

else:
Expand Down Expand Up @@ -490,8 +492,10 @@ async def run(self):
self.out = [None] * len(self)
self.errors = [None] * len(self)
self.tries = np.zeros(len(self))
self._retry = False

while any(self.todo):
self._retry = False
self.submit_jobs()
await self.collect_jobs()

Expand All @@ -501,7 +505,7 @@ async def run(self):
'details on error response')
logger.error(msg)
raise RuntimeError(msg)
elif any(self.todo):
elif self._retry:
time.sleep(60)

return self.out

0 comments on commit b4554e9

Please sign in to comment.