Dengan bawaan pool_block=False, pool_maxsize membatasi koneksi yang ditahan dalam kumpulan, bukan setiap koneksi yang bersamaan. Requests dapat membuat koneksi tambahan lalu membuangnya setelah itu.

Untuk kumpulan terbatas yang dipakai permintaan HTTPS dari sesi yang sudah ada:

from requests.adapters import HTTPAdapter

adapter = HTTPAdapter(
    pool_connections=10,
    pool_maxsize=4,
    pool_block=True,
)
session.mount("https://", adapter)

Pemasangan memilih URL tujuan HTTPS. Permintaan HTTP memakai adaptor yang dipasang di bawah http://.

MasukanApa yang dikendalikan
pool_connectionsBerapa banyak kumpulan yang disimpan pengelola
pool_maxsizeKoneksi di dalam satu kumpulan
pool_block=TrueMenunggu koneksi kumpulan alih-alih membuat koneksi tambahan

Requests juga menyimpan pengelola proxy per URL proxy. Nilai-nilai ini tidak membentuk satu batas total untuk daftar proxy dan tujuan yang berputar. Gunakan anggaran konkurensi tingkat aplikasi jika persyaratannya adalah semua pekerjaan melewati satu perantara.

Pemblokiran membuat pelepasan respons menjadi penting: habiskan isi atau tutup respons streaming agar pekerjaan yang menunggu dapat berlanjut. Adaptor Requests tidak menyediakan batas waktu terpisah untuk penantian kumpulan ini dalam susunan yang ditunjukkan.

Artikel terkait