Описание тега tenacity

2 ответа

Повторить попытку Python с динамическими параметрами

Пробовал это в библиотеках python повторных попыток и упорства, но безрезультатно. Повторные попытки обычно используются с декоратором, например, как показано в метакоде ниже: class FooBar: @retry(attempts=3) def dosomething(): ... Я хочу, чтобы пар…
06 июл '20 в 22:58
0 ответов

Логика повтора с concurrent.futures lib

import concurrent.futures import pymongo import tenacity from tenacity import stop_after_attempt def retry_error_callback(retry_state): print("call when error throws ") @tenacity.retry(stop=stop_after_attempt(2), retry_error_callback=retry…
20 июл '20 в 10:41
1 ответ

python3 try/except, похоже, не работает при использовании декоратора упорства

Попытка добиться упорства в работе с функцией запросов, чтобы реализовать повтор / откат, а затем вернуть статус HTTP, если все попытки не удались. Кажется, что я могу либо заставить работать retry, либо использовать try/except, но не то и другое од…
08 сен '20 в 01:23
0 ответов

Аргумент функции обновления Python Tenacity Retry

У меня есть следующий код from tenacity import retry, wait_exponential, after_log, stop_after_attempt, wait_chain, wait_fixed, retry_if_exception_type import random def my_before_sleep(retry_state): print( 'Retrying %s: attempt %s ended with: %s', r…
14 ноя '20 в 07:52
0 ответов

Лучший способ использовать httpx async client и упорство?

Я получаю довольно разные результаты с двумя разными реализациями. Вот реализация 1 request_semaphore = asyncio.Semaphore(5) async def _send_async_request(client: AsyncClient, method, auth, url, body): async with request_semaphore: try: async for at…
1 ответ

Отменяет ли установка тайм-аута сокета первоначальный запрос

У меня есть запрос, который можно выполнить только один раз. Иногда запрос занимает намного больше времени, чем следовало бы. Если бы я установил значение тайм-аута сокета по умолчанию (используя socket.setdefaulttimeout(5)), и это заняло больше 5 с…
17 авг '21 в 00:49
0 ответов

Tenacy retry_error_callback: как повторно поднять excpetion?

После добавления retry_error_callbackв следующем коде. Исключение проглатывается. Как повторно вызвать исключение? Просто добавьте raise в cb() не работает. import logging from tenacity import retry, wait_incrementing, stop_after_attempt, wait_expon…
15 дек '21 в 01:48
1 ответ

Упорство выводить сообщения о повторной попытке?

Код import logging from tenacity import retry, wait_incrementing, stop_after_attempt import tenacity @retry(wait=wait_incrementing(start=10, increment=10, max=100), stop=stop_after_attempt(3)) def print_msg(): logging.info('Hello') logging.info("Wor…
14 дек '21 в 21:33
0 ответов

Python Tenacity: повторить сброс счетчика после успеха?

Недавно я начал использовать упорство для повторных попыток в своем личном веб-приложении. Итак, мой запрос включен, если перед успехом произойдет серия сбоев, будут ли после этого сброшены счетчики повторных попыток? или это похоже на то, что библи…
0 ответов

Повторная попытка повышения Tenacity для кодов исключений. 503

Я новичок в повторных попытках, я застрял на этом некоторое время, поэтому решил спросить. Я пытаюсь подключиться к консулу, и иногда, когда приложение работает долго, оно получает 503, я хочу использовать некоторую логику, чтобы повторить попытку с…
23 фев '22 в 16:06
0 ответов

Упорство после функции в классе

Я использую декоратор упорства, чтобы повторить тест, когда он терпит неудачу, и после того, как тест не пройден, программа должна выполнить фазу очистки, поэтому я использовал декоратор упорства следующим образом: class MyTests(unittest.TestCase) d…
21 дек '20 в 16:27
1 ответ

повторная попытка упорства с обработчиком исключений

Можно tenacityсправиться с этим или я должен сам реализовать оболочку повторных попыток, если мне нужно поймать исключение, сделать обратный вызов и вернуться к следующей попытке? отправить → ошибка извлечения → если можно восстановить → запустить о…
18 дек '20 в 20:01
0 ответов

Использование упорства (модуль Python): повторная попытка блока кода без определения

Из https://tenacity.readthedocs.io/en/latest/#retrying-code-block «Tenacity позволяет вам повторить блок кода без необходимости оборачивать его в изолированную функцию. Это позволяет легко изолировать сбойный блок при совместном использовании контек…
10 сен '22 в 18:44
0 ответов

Регистрация упорства python retry_state с помощью регистратора из внешней области

У меня есть модуль, который включает служебную функцию с тегом повторной попытки упорства. from tenacity import retry, stop_after_attempt, wait_random def log_attempt_number(logger, retry_state): logger.info(f"Attempt number {retry_state}") logger.i…
03 мар '23 в 17:43
0 ответов

Лучший способ повторить попытку

У меня есть этот код: async def check(domain): attempts = 0 url = 'https://www.{}/'.format(domain) check_for = ['abc123', 'xyz345'] while attempts <= MAX_TRIES: try: async with request("GET", url, timeout=TIMEOUT) as response: data = await respon…
15 авг '22 в 07:02
0 ответов

Отключить Tenacity для цикла «для попытки повторной попытки» в модульных тестах

Я пишу модульные тесты и хочу отключить упорство, раньше мне удавалось отключать упорство, когда это декоратор, т.е.: @retry(stop=stop_after_attempt(3),wait=wait_fixed(5)) def function_that_retries(param) -> None: <function implementation> …
1 ответ

Как преодолеть ошибку ограничения скорости при работе с моделями GPT3 с использованием Tenacity

В моей ситуации я пытаюсь передать подсказку с помощью вспомогательной функции реальным моделям GPT3, в моем случае text-ada-001, а затем в конечном итоге применить ее к столбцу pandas, используя следующий код. но я исправляю следующую ошибку: def s…
29 мар '23 в 23:04
0 ответов

Понимание модуля повторной попытки Tenacity

Я написал несколько исключений в конце кода. Может ли кто-нибудь объяснить, что именно не так с моим кодом, как правильно использовать упорство? также я не мог понять использование reraise = True и False. import requests from tenacity import retry, …
31 авг '23 в 10:09
1 ответ

Настраиваемое поведение повторной попытки для каждой ошибки с помощью библиотеки Tenacity.

Я хотел бы создать собственное поведение при повторной попытке для разных типов ошибок. Например, если я получаю ошибку 401, я хотел бы вызвать обновление токена, прежде чем повторять запрос. Если я получу 500, я хотел бы повторить ошибку через неко…
04 май '23 в 08:31
0 ответов

В документации по стойкости неправильно документирована экспонента ожидания повторной попытки.

В ссылке https://tenacity.readthedocs.io/en/latest/ в приведенном ниже примере указано, что ожидание между повторными попытками будет 2*1 (ограничено 10 секундами), но не должно ли это быть линейным ростом, когда множитель равен 1. @retry(wait=wait_…
23 сен '23 в 19:11