Bağlantı ve okuma zaman aşımları belirli beklemeleri sınırlar. Bir proxy işleminin tamamını zorunlu olarak sınırlamazlar; işlem kuyrukta bekleme, DNS, CONNECT, TLS, yönlendirmeler, yeniden denemeler ve yanıtın okunmasını da içerebilir.

SınırKapsam
Bağlantı zaman aşımıİstemcinin tanımına göre bağlantı kurulumu
Okuma hareketsizliği zaman aşımıBeklenen veri ilerlemesi olmadan bir bekleme
Toplam son tarihTam işlemin izin verilen süresi

İşlemin bütçesiyle başlayın

Mevcut olduğunda istemcinin belgelenmiş toplam son tarihini veya iptal mekanizmasını aşama sınırlarıyla birlikte kullanın. HTTPX havuz, bağlantı, okuma ve yazma beklemelerini ayırır. Requests, zaman aşımının tam indirme sınırı olmadığını belirtir. curl toplam aktarım zaman aşımı sunar.

Örneğin yirmi saniyelik bir iş kuyrukta iki saniye, rotasını kurarken üç saniye ve başarısız bir alışverişte altı saniye harcar. Sonraki denemesinde yaklaşık dokuz saniye kalır. Her yeniden denemeye taze yirmi saniye vermek özgün bütçeyi çöpe atardı.

Geçen süreyi hesaplamak için monoton bir saat kullanın. Mutlak bir son tarihi veya kalan süreyi işi elinde tutan katmanlar boyunca taşıyın. Çevredeki iptal mekanizması gereken kapsamı uygulayamıyorsa bu sınırlamayı açıkça belirtin.

Gövdeyi ve temizliği dahil edin

Başlıklardan sonra dönen bir yöntem gövde okumasını kendi son tarihinin dışında bırakabilir. Bütçenin kurulumu, tam ve sonlu bir indirmeyi yoksa ayrı canlılık kurallarına sahip uzun ömürlü bir akışı kapsayıp kapsamadığına karar verin. .NET'te başlık ve gövde iptali için modern bir örnek iki aşamada tek bir belirteç taşır.

Bir sonraki deneme havuz kapasitesini almadan önce yanıtları kapatmak ve iptali tamamlamak için zaman bırakın. Başarısız aşamayı ve geçen süreyi kaydedin; ilerleme sağlayan yinelenen okumalar hareketsizlik sınırlarını karşılayabilir ama toplam iş çok uzun sürer.

Ağ geçidinin yukarı akışa dönük son tarihi o ağ geçidine aittir. 504 döndürdükten sonra kullanılmayan istemci bütçesi tamamlanmış denemeyi uzatamaz. Hangi ayarın düzeltilmesi gerektiğine karar verirken her zamanlayıcıyı sahibine bağlı tutun.

İlgili makaleler