| کانال توسعه‌دهندگان پایتون |
7.62K subscribers
76 photos
3 videos
4 files
68 links
⭕️ کانال توسعه‌دهندگان پایتون دولوپیکس

💠 دولوپیکس | جامعه توسعه‌دهندگان ایرانی

💎 @Developix
🚀 Developix.ir

📌 پشتیبانی و تبلیغات:
@DevelopixSupport
Download Telegram
تلاش دوباره با Tenacity، بدون حلقه‌های دستی

وقتی یک سرویس موقتاً در دسترس نیست، شکست اولین درخواست نباید پایان کار باشد. کتابخانه Tenacity منطق retry را برای پایتون ساده می‌کند؛ بدون نوشتن حلقه و شمارنده در هر تابع.

‏🔧 می‌توانی تعداد تلاش‌ها، فاصلهٔ بین آن‌ها و نوع خطای قابل تکرار را مشخص کنی. از توابع async هم پشتیبانی می‌کند.

نصب با pip install tenacity و یک نمونه:

from urllib.request import urlopen
from urllib.error import URLError
from tenacity import retry, stop_after_attempt
from tenacity import wait_exponential, retry_if_exception_type

@retry(
stop=stop_after_attempt(3),
wait=wait_exponential(min=1, max=8),
retry=retry_if_exception_type(URLError),
reraise=True,
)
def fetch():
with urlopen("https://www.python.org", timeout=5) as r:
return r.status


نکته: عملیات پرداخت را بدون تضمین idempotency تکرار نکن؛ ممکن است دوباره اجرا شود.

مستندات رسمی

روی یک درخواست خواندنی امتحانش کن 🌱

🔖 #Python #پایتون #Python #Tenacity #retry

👤 Developix

💎 Channel: @DevelopixPython
👍2