Timeout حداکثر زمان مجاز برای دریافت پاسخ یا تکمیل عملیات است. با پایان این زمان برنامه عملیات را ناموفق تلقی میکند تا منابع در انتظار نامحدود نمانند.
Timeout کلاینت لزوماً پردازش سمت سرور را متوقف نمیکند. برای عملیات حساس باید لغو پردازش نیز طراحی شود.
Timeout کوتاهتر از زمان عادی سرویس باعث خطای کاذب میشود و Timeout خیلی بلند کاربر را منتظر میگذارد. بودجه زمانی کل مسیر درخواست باید مشخص باشد.
نمونه Timeout درخواست HTTP
import requests
response = requests.get("https://baversion.com", timeout=(2, 5))
Timeout اتصال و Timeout خواندن دو محدودیت متفاوت هستند. در فرایندهای توزیعشده باید مجموع زمان انتظار، Retry و Deadline کلی درخواست را با هم طراحی کرد.