In Guzzle-oanfraach kin ferrinne wylst er op in ferbiningsslots wachtet
Set de aktive ferbiningsbudgetten fan cURL multi op de dielde handler en ûnderskied se fan 'e kapasiteit fan 'e idle cache.
As in asynchroane oanfraach ferrint foardat in ferbining iepene wurdt, ûndersykje dan de aktive limiten fan it transport en ek de netwurk-timeouts. libcurl set oerdrachten yn 'e wachtrige as dy limiten beset binne, en har timeout-budgetten rinne troch wylst se yn 'e rige steane.
Foar de dielde cURL multi-handler fan 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),
]);Brûk dizze klant foar it asynchroane wurk en jou syn bedoelde proxy-opsje op 'e operaasjes. De wearden binne foarbyldbudgetten. Foar iepenbiere oanfragen dy't tastien binne fia in iepenbiere tuskenpartij, leveret de HTTP-proxylist kandidaten foar de proxy-URL's fan 'e operaasjes.
| Opsje | Budget |
|---|---|
| MAX_TOTAL_CONNECTIONS | Tagelyk iepene ferbiningen ûnder de multi-handler |
| MAX_HOST_CONNECTIONS | Ferbiningen nei ien host/poarte; proxy-ferbiningen telle tsjin it proxy-einpunt |
| MAXCONNECTS | Ferbiningen dy't nei gebrûk yn 'e cache bliuwe |
Ferskate websiden dy't deselde proxy brûke, krije net automatysk aparte proxy-ferbiningskwota's. De kapasiteit fan 'e idle cache iepenet gjin ferbiningen foarôf en makket se ek net útwikselber: wergebrûk hinget ôf fan rûte, bestimming, protokol en autentikaasje.
Hâld it taakbudget fan 'e applikaasje en in eventuele kwota fan 'e leveransier yn oerienstimming mei dizze transportbudgetten. Se telle ferbiningen, net oanfragen per sekonde. It ferheegjen fan in socket-timeout kin net fêststelle oft in rige of in netwurkwachtsje de tiid brûkt hat.