Wann eng asynchron Ufro ofleeft, ier eng Verbindung opgemaach gëtt, kontrolléiert déi aktiv Limitte vum Transport souwéi d'Netzwierk-Zäitlimitten. libcurl setzt Iwwerdroungen an d'Schlaang, wann déi Limitten besat sinn, an hir Zäitlimitt-Budgeten lafen weider, wärend se an der Schlaang stinn.

Fir de gedeelte cURL multi Handler vu 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),
]);

Benotzt dëse Client fir déi asynchron Aarbecht a gitt seng virgesinn Proxyoptioun op den Operatiounen un. D'Wäerter sinn Beispillbudgeten. Fir ëffentlech Ufroen, déi iwwer en ëffentlechen Intermédiaire erlaabt sinn, bitt d'HTTP-Proxylëscht Kandidaten fir d'Proxy-URLen vun den Operatiounen.

OptiounBudget
MAX_TOTAL_CONNECTIONSGläichzäiteg opgemaach Verbindungen ënner dem Multi-Handler
MAX_HOST_CONNECTIONSVerbindungen zu engem Host/Port; Proxy-Verbindungen zielen géint den Proxy-Endpunkt
MAXCONNECTSVerbindungen, déi no der Benotzung am Cache bleiwen

Méi Websäite mat demselwe Proxy kréien net automatesch getrennte Proxy-Verbindungskontingenter. D'Kapazitéit vum Idle-Cache mécht weder Verbindungen am Viraus op nach mécht se se austauschbar: d'Wiederverwendung hänkt vum Wee, dem Zil, dem Protokoll an der Authentifikatioun of.

Halt d'Aufgabebudget vun der Applikatioun an eng eventuell Kontingent vum Ubidder mat dësen Transportbudgeten am Aklang. Si zielen Verbindungen, net Ufroen pro Sekonn. En héijen Socket-Zäitlimitt kann net feststellen, ob eng Schlaang oder eng Netzwierkwaardeier d'Zäit verbraucht huet.

Ähnlech Artikelen