на построение статистики. Сервис отдает нужный результат не сразу, нужно проверять с определенным таймаутом json ответа и смотреть есть ли в нужном поле ['status'] = 'Оk'. Если нет, то отправлять запрос к API снова и так в цикле.
В случае ошибок я делаю повторные запросы через requests.packages.urllib3.util.retry и там все ок. Как это дело переписать, чтобы проверялось не на наличие ошибок, а проверялся json?
def requests_retry_session(
retries=5,
backoff_factor=0.3,
status_force=(500, 502, 503, 504, 429),
session=None
):
session = session or requests.Session()
retry = Retry(
total=retries,
read=retries,
connect=retries,
backoff_factor=backoff_factor,
status_forcelist=status_force
)
adapter = HTTPAdapter(max_retries=retry)
session.mount('http://', adapter)
session.mount('https://', adapter)
return session
Могу после метода бахнуть time.sleep(5) и вроде все работает, но мне кажется это какой-то костыль
Никто не знает?
Обсуждают сегодня