Maaaring mag-timeout ang kahilingang Guzzle habang naghihintay ng slot ng koneksyon
Itakda ang aktibong badyet ng koneksyon ng cURL multi sa shared handler at iiba ito sa kapasidad ng idle cache.
Kung ang isang async na kahilingan ay mag-expire bago magbukas ng koneksyon, suriin ang aktibong limitasyon ng transport bukod sa mga timeout ng network. Inilalagay ng libcurl sa pila ang mga paglilipat kapag puno ang mga limitasyong iyon, at nagpapatuloy ang mga badyet ng timeout habang nakapila.
Para sa shared cURL multi handler ng 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),
]);Gamitin ang client na ito para sa async na trabaho at ibigay ang nilalayong opsyon sa proxy sa mga operasyon. Ang mga halaga ay halimbawang badyet. Para sa mga pampublikong kahilingang pinapayagan sa pamamagitan ng pampublikong intermediary, ang listahan ng proxy sa HTTP ay nagbibigay ng mga kandidato para sa mga proxy URL ng mga operasyon.
| Opsyon | Badyet |
|---|---|
| MAX_TOTAL_CONNECTIONS | Mga koneksyong bukas nang sabay sa ilalim ng multi handler |
| MAX_HOST_CONNECTIONS | Mga koneksyon sa isang host/port; ang mga koneksyon ng proxy ay binibilang laban sa endpoint ng proxy |
| MAXCONNECTS | Mga koneksyong pinananatili sa cache pagkatapos gamitin |
Ang ilang website na gumagamit ng parehong proxy ay hindi awtomatikong tumatanggap ng hiwalay na kota ng koneksyon ng proxy. Ang kapasidad ng idle cache ay hindi nagbubukas ng koneksyon nang maaga at hindi ginagawang mapagpapalit ang mga ito: ang muling paggamit ay nakasalalay sa ruta, destinasyon, protocol at authentication.
Panatilihing naaayon ang badyet ng gawain ng application at anumang kota ng provider sa mga badyet ng transport na ito. Binibilang nila ang mga koneksyon, hindi ang mga kahilingan bawat segundo. Ang pagtaas ng timeout ng socket ay hindi matukoy kung pila o paghihintay ng network ang gumamit ng oras.