Agar asinxron so'rov ulanish ochilishidan oldin vaqti tugasa, tarmoq taymautlari bilan birga transportning faol chegaralarini ham tekshiring. Bu chegaralar band bo'lganda libcurl uzatishlarni navbatga qo'yadi va ularning taymaut budjetlari navbatda turganda davom etadi.

Guzzle 7'ning umumiy cURL multi handleri uchun:

use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Handler\CurlMultiHandler;

$multi = new CurlMultiHandler([
    'options' => [
        CURLMOPT_MAX_TOTAL_CONNECTIONS => 24,
        CURLMOPT_MAX_HOST_CONNECTIONS => 4,
    ],
]);
$client = new Client([
    'handler' => HandlerStack::create($multi),
]);

Bu klientni asinxron ish uchun ishlating va operatsiyalarda uning mo'ljallangan proksi parametrini bering. Qiymatlar namuna budjetlar. Ommaviy vositachi orqali ruxsat etilgan ommaviy so'rovlar uchun HTTP proksi ro'yxati operatsiyalarning proksi URL'lari uchun nomzodlar beradi.

ParametrBudjet
MAX_TOTAL_CONNECTIONSMulti handler ostida bir vaqtda ochilgan ulanishlar
MAX_HOST_CONNECTIONSBitta host/portga ulanishlar; proksi ulanishlari proksi so'nggi nuqtasiga hisoblanadi
MAXCONNECTSIshlatilgandan keyin keshda saqlanadigan ulanishlar

Bir xil proksidan foydalanadigan bir nechta veb-sayt avtomatik ravishda alohida proksi ulanish kvotalarini olmaydi. Bo'sh kesh sig'imi ulanishlarni oldindan ochmaydi va ularni bir-biriga almashtiriladigan qilmaydi: qayta foydalanish marshrut, manzil, protokol va autentifikatsiyaga bog'liq.

Ilova vazifalari budjetini va provayderning har qanday kvotasini ushbu transport budjetlariga mos tuting. Ular soniyada so'rovni emas, ulanishlarni sanaydi. Socket taymautini oshirish vaqtni navbat yoki tarmoq kutishi sarflaganini aniqlay olmaydi.

O'xshash maqolalar