Как определить, не удалось ли повторить попытку с модулем повторных попыток Python?

Я использую питон retrying библиотека для ожидания и повторной загрузки, когда сервер находится в режиме защиты от DDoS, но у меня вопрос: как я могу выдать исключение, если все повторные попытки не удаются?

В моем коде download(symbol) функция может поднять DDoSProtection исключение. Если это так, я хотел бы начать повторную попытку, и если stop_max_attempt_number повторные попытки не в состоянии поднять downloadError() исключение.

def retry_if_ddospro_error(exception):

    """Return True if we should retry (in this case when it's an DDoSProtection), False otherwise"""

    return isinstance(exception, DDoSProtection)


@retry(retry_on_exception = retry_if_ddospro_error, stop_max_attempt_number = 3, wait_fixed=3000)

def download (symbol): 

    ls = exchange.fetch_ohlcv(symbol) # Might raise DDoSProtection

    # RETRY

    if retry_fail:

        # RAISE new exception in order to log error into database 

        raise downloadError('Exchange is in DDoS protection')

РЕДАКТИРОВАТЬ: удаление tryexcept в моем примере.

Ссылки: https://pypi.python.org/pypi/retrying

0 ответов

Другие вопросы по тегам