ด้วยค่าเริ่มต้น pool_block=False, pool_maxsize จำกัดการเชื่อมต่อที่เก็บไว้ในพูล ไม่ใช่ทุกการเชื่อมต่อที่เกิดขึ้นพร้อมกัน Requests สามารถสร้างส่วนเกินและทิ้งภายหลังได้

สำหรับพูลแบบจำกัดที่คำขอ HTTPS ของเซสชันที่มีอยู่ใช้:

from requests.adapters import HTTPAdapter

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

การเมานต์เลือก URL ปลายทาง HTTPS คำขอ HTTP ใช้อะแดปเตอร์ที่เมานต์ภายใต้ http://

อินพุตสิ่งที่ควบคุม
pool_connectionsจำนวนพูลที่ตัวจัดการแคชไว้
pool_maxsizeการเชื่อมต่อภายในพูลหนึ่ง
pool_block=Trueรอการเชื่อมต่อจากพูลแทนการสร้างเพิ่ม

Requests ยังแคชตัวจัดการพร็อกซีตาม URL ของพร็อกซีด้วย ค่าเหล่านี้ไม่ได้สร้างขีดจำกัดรวมเดียวสำหรับรายการพร็อกซีและปลายทางที่หมุนเวียน ใช้งบประมาณการทำงานพร้อมกันระดับแอปพลิเคชันหากข้อกำหนดคือให้งานทั้งหมดผ่านตัวกลางเดียว

การบล็อกทำให้การปล่อยคำตอบเป็นสิ่งจำเป็น: อ่านเนื้อหาคำตอบให้หมดหรือปิดคำตอบแบบสตรีมมิง เพื่อให้งานที่รออยู่ดำเนินต่อได้ อะแดปเตอร์ของ Requests ไม่ได้ให้เวลาหมดอายุแยกต่างหากสำหรับการรอพูลนี้ในการจัดวางที่แสดง

บทความที่เกี่ยวข้อง