Batas waktu koneksi dan pembacaan membatasi penantian tertentu. Keduanya belum tentu membatasi seluruh operasi melalui proxy, yang juga dapat mencakup penantian dalam antrean, DNS, CONNECT, TLS, pengalihan, percobaan ulang, dan pembacaan respons.

BatasCakupan
Batas waktu koneksiPembentukan koneksi menurut definisi klien
Batas waktu diam saat membacaPenantian tanpa kemajuan data yang diharapkan
Tenggat totalDurasi yang diizinkan bagi operasi lengkap

Mulailah dari anggaran operasi

Gunakan tenggat total terdokumentasi milik klien atau mekanisme pembatalan bila tersedia, bersama batas per fase. HTTPX memisahkan penantian kumpulan, koneksi, pembacaan, dan penulisan. Requests menyatakan batas waktunya bukan batas unduhan lengkap. curl menyediakan tenggat transfer total.

Sebagai contoh, tugas dua puluh detik menghabiskan dua detik di antrean, tiga untuk membangun rutenya, dan enam pada pertukaran yang gagal. Percobaan berikutnya memiliki sekitar sembilan detik. Memberi setiap percobaan ulang dua puluh detik baru akan membuang anggaran semula.

Gunakan jam monotonik untuk menghitung waktu yang berlalu. Bawa tenggat absolut atau durasi tersisa melalui lapisan yang memiliki pekerjaan itu. Jika mekanisme pembatalan di sekitarnya tidak dapat menegakkan cakupan yang diperlukan, nyatakan batasan itu secara eksplisit.

Sertakan badan dan pembersihan

Metode yang kembali setelah header dapat meninggalkan pembacaan badan di luar tenggatnya. Tentukan apakah anggaran mencakup pembentukan, unduhan berhingga yang utuh, atau aliran berumur panjang dengan aturan keaktifan tersendiri. Contoh .NET modern untuk pembatalan header dan badan membawa satu token melalui kedua tahap.

Sisakan waktu untuk menutup respons dan menuntaskan pembatalan sebelum percobaan berikutnya mengambil kapasitas kumpulan. Catat fase yang gagal dan waktu yang berlalu; pembacaan berulang yang maju dapat memenuhi batas keaktifan sementara tugas keseluruhan berjalan terlalu lama.

Tenggat gateway ke hulu menjadi milik gateway itu. Setelah mengembalikan 504, anggaran klien yang tidak terpakai tidak dapat memperpanjang percobaan yang telah selesai. Pertahankan setiap pengatur waktu melekat pada pemiliknya saat memutuskan pengaturan mana yang perlu diperbaiki.

Artikel terkait