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

3 ответа

Повтор Python с использованием цепкости без декоратора

Я пытаюсь сделать попытку, используя цепкость (без декоратора). Мой код выглядит как описано здесь. import logging from tenacity import retry import tenacity def print_msg(): try: logging.info('Hello') logging.info("World") raise Exception('Test err…
24 ноя '18 в 19:13
1 ответ

"Retry" из модуля упорства не работает с генератором

У меня проблема с использованием инструмента "Повторить попытку" из библиотеки упорства в python3.Когда я использую генератор, декоратор "retry" не работает. У меня есть образец кода, иллюстрирующий мою ситуацию: from tenacity import retry, wait_exp…
4 ответа

Ссылка на себя в декораторе

Я реализую класс коннектора базы данных в python. Я буду использоватьretry декоратор из библиотеки упорства, чтобы повторить попытку подключения к базе данных по истечении времени ожидания. Я хочу передать self.retry_count а также self.retry_interva…
4 ответа

Упорство Python: как повторить попытку, если исключение НЕ относится к определенному типу?

Как повторить попытку выполнения функции, если исключение НЕ относится к определенному типу, используя упорство Python? retry_if_exception_type повторит попытку, если возникнет исключение определенного типа. not кажется, не работает ни перед методом…
1 ответ

Повторная попытка Python3 с упорством (без декораторов) дает ошибку с заявлением о "недостающих аргументах" при использовании gspread

Я пытаюсь использовать модуль упорства, чтобы избежать частых ошибок запроса (APIErrorс) от распростран. Я понимаю общие примеры использования декораторов упорства, но я хочу использоватьRetrying() функция, чтобы я мог повторить попытку метода обнов…
0 ответов

Модульные тесты Python для логики повторных попыток на основе упорства

Мне интересно, есть ли способ проверить логику повтора, обеспечиваемую упорством; например, я хочу проверить, что декорированный метод успешен только при повторной попытке (или заданном количестве повторных попыток). Другими словами, есть ли образец…
1 ответ

Использование try-except sentenec в python с упорством не повторяется, как ожидалось

Привет, я пытаюсь использовать упорство для отправки электронного письма, сценарий следующий: from tenacity import retry, stop_after_attempt from smtplib import SMTP_SSL, SMTP @retry(stop = stop_after_attempt(7)) def email_tables(mails_to_list, smtp…
25 сен '20 в 00:26
0 ответов

Параметр функции обновления Python Tenacity Retry при повторной попытке

У меня есть заданная функция @retry(wait=wait_chain(*[wait_fixed(3) for i in range(3)] + [wait_fixed(7) for i in range(2)] + [wait_fixed(9)]), before_sleep=my_before_sleep) def fetchRequest(proxy): url = 'someurl' r = requests.get(url, proxies=proxy…
26 окт '20 в 10:10
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…
3 ответа

Упорство Python: как мне повторить попытку функции, не вызывая исключения, если все попытки не удались?

Скажем , у меня есть следующая функция: @retry(stop=stop_after_attempt(3)) def foo(): try: response = requests.post(...) response.raise_for_status() return response except Exception as e: raise e Эта функция повторит попытку 3 раза, и если все три п…
29 сен '20 в 00:44
1 ответ

Исключение журнала Python Tenacity при повторной попытке

Я использую tenacityпакет, чтобы повторить попытку функции. Мой декоратор повторов выглядит так: @retry(wait=wait_exponential(multiplier=1/(2**5), max=60), after=after_log(logger, logging.INFO)) В исключительных случаях я получаю такое сообщение в ж…
22 сен '20 в 06:21
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
0 ответов

Обновить аргумент для повторной попытки в Python

from tenacity import retry, retry_if_exception_type, stop_after_attempt @retry(retry=retry_if_exception_type(ValueError), stop=stop_after_attempt(3)) def aa(value): try: print(value) raise ValueError except ValueError: value = value +1 # want to up…
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 ответов

Многопоточный сеанс Python с пулом msqyl

import requests, pymysql, pymysqlpool from concurrent.futures import ThreadPoolExecutor, as_completed from functools import partial from tenacity import retry, TryAgain, stop_after_attempt pool = PooledDB(creator = pymysql, maxconnections = 0, auto…
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 ответов

Трассировка python Tenacity вместо кода состояния

Я хотел бы посмотреть, как я могу захватить код состояния для каждого запроса с помощью Tenacity, вот текущий env блока кода:python 3.6.8aiohttpTenacity async with aiohttp.ClientSession(raise_for_status=True,timeout=self.api_request_timeout,headers=…
28 июл '22 в 20:36