Zahteva Guzzle lahko poteče, medtem ko čaka na mesto povezave
Nastavite aktivne proračune povezav cURL multi na skupnem handlerju in jih ločite od zmogljivosti nedejavnega predpomnilnika.
Če asinhrona zahteva poteče, preden odpre povezavo, preglejte aktivne omejitve transporta ter tudi omrežne časovne omejitve. libcurl postavi prenose v čakalno vrsto, ko so te omejitve zasedene, njihovi proračuni časovne omejitve pa tečejo tudi med čakanjem v vrsti.
Za skupni cURL multi handler Guzzle 7:
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),
]);Ta odjemalec uporabite za asinhrono delo in pri operacijah navedite predvideno možnost proxyja. Vrednosti so zgledni proračuni. Za javne zahteve, dovoljene prek javnega posrednika, seznam proxyjev HTTP ponuja kandidate za proxy URL-je operacij.
| Možnost | Proračun |
|---|---|
| MAX_TOTAL_CONNECTIONS | Hkrati odprte povezave pod multi handlerjem |
| MAX_HOST_CONNECTIONS | Povezave do enega gostitelja/vrat; proxy povezave se štejejo proti končni točki proxyja |
| MAXCONNECTS | Povezave, ki ostanejo v predpomnilniku po uporabi |
Več spletnih mest, ki uporablja isti proxy, samodejno ne dobi ločenih kvot proxy povezav. Zmogljivost nedejavnega predpomnilnika ne odpira povezav vnaprej in jih ne naredi zamenljivih: ponovna uporaba je odvisna od poti, cilja, protokola in preverjanja pristnosti.
Proračun opravil aplikacije in morebitno kvoto ponudnika ohranjajte v skladu s temi transportnimi proračuni. Štejejo povezave, ne zahtev na sekundo. Povečanje časovne omejitve vtičnice ne more ugotoviti, ali je čas porabila čakalna vrsta ali omrežno čakanje.