Python Requests Timeout Ayarları

0 Yanıt 16 Görüntülenme
·
Katılımcılar
Konuyu Açan #1
Python Requests Timeout Ayarları

Python'da Requests kütüphanesi, HTTP istekleri göndermede en sık kullanılan araçlardan biridir ve özellikle API entegrasyonlarında büyük kolaylık sağlar. Ancak, bu isteklerin zaman aşımı (timeout) ayarını doğru yapılandırmak, uygulamanızın güvenilirliği ve performansı açısından kritik öneme sahiptir.

İsteklerde timeout parametresi, sunucudan yanıt alınması için belirlenen maksimum süreyi tanımlar. Bu süre aşılırsa, Requests bir istisna (TimeoutError) fırlatır. Bu, özellikle yavaş veya kararsız ağ ortamlarında, uygulamanızın takılmasını veya sonsuz beklemeyi önler.

Requests'te timeout ayarını kullanmak oldukça basittir. Örneğin:

KOD
12345678910python  
import requests  
  
try:  
    response = requests.get('https://ornekapi.com/data', timeout=5)  # 5 saniye timeout  
    response.raise_for_status()  
except requests.exceptions.Timeout:  
    print('İstek zaman aşımına uğradı.')  
except requests.exceptions.RequestException as e:  
    print(f'Bir hata oluştu: {e}')  


Burada, timeout parametresi saniye cinsinden verilir. Eğer sunucu 5 saniyede yanıt vermezse, istek iptal edilir ve programınızda kontrol edilebilir bir hata oluşur. Aynı zamanda, timeout'u hem bağlantı (connect) hem de veri alma (read) aşamaları için ayrı ayrı belirleyebilirsiniz:

KOD
12python  
response = requests.get('https://ornekapi.com/data', timeout=(3, 10))  # 3 saniye bağlantı, 10 saniye veri okuma için


Burada ilk değer bağlantı aşaması, ikinci değer ise veri okuma aşaması için zaman aşımını temsil eder. Bu esneklik, farklı bağlantı koşullarına göre ayar yapmayı kolaylaştırır.

Uzun süreli veya kritik işlemlerde, timeout ayarını dikkatlice yapılandırmak, uygulamanın stabilitesi ve kullanıcı deneyimi açısından çok önemlidir. Yanı sıra, zaman aşımı sırasında uygun hata yönetimi ve yeniden deneme stratejileri geliştirmek, sisteminizin dayanıklılığını artırabilir.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi