ডিফল্ট 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)

মাউন্টটি HTTPS গন্তব্য URL নির্বাচন করে। HTTP অনুরোধ http://-এর অধীনে মাউন্ট করা অ্যাডাপ্টার ব্যবহার করে।

ইনপুটএটি কী নিয়ন্ত্রণ করে
pool_connectionsম্যানেজার কতগুলো পুল ক্যাশ করে
pool_maxsizeএকটি পুলের ভিতরের সংযোগ
pool_block=Trueঅতিরিক্ত তৈরি না করে পুল সংযোগের জন্য অপেক্ষা

Requests প্রক্সি URL অনুযায়ী প্রক্সি ম্যানেজারও ক্যাশ করে। এই মানগুলো ঘুরতে থাকা প্রক্সি ও গন্তব্যের তালিকা জুড়ে একটি মোট সীমা তৈরি করে না। যদি প্রয়োজন হয় সব কাজ একটি মাধ্যমের ভিতর দিয়ে যাওয়া, তবে অ্যাপ্লিকেশন-স্তরের সমবর্তিতা বাজেট ব্যবহার করুন।

ব্লকিং প্রতিক্রিয়া মুক্ত করা অপরিহার্য করে তোলে: বডি গ্রহণ করুন বা স্ট্রিমিং প্রতিক্রিয়া বন্ধ করুন যাতে অপেক্ষারত কাজ এগোতে পারে। দেখানো বিন্যাসে Requests-এর অ্যাডাপ্টার এই পুল-অপেক্ষার জন্য আলাদা টাইমআউট দেয় না।

সম্পর্কিত নিবন্ধ