Unha solicitude de Guzzle pode caducar mentres espera unha praza de conexión
Configure os orzamentos de conexións activas do cURL multi no manexador compartido e distíngaos da capacidade da caché inactiva.
Se unha solicitude asíncrona caduca antes de abrir unha conexión, revise os límites activos do transporte ademais dos tempos de espera da rede. libcurl pon as transferencias en cola cando eses límites están ocupados, e os seus orzamentos de tempo de espera continúan mentres están en cola.
Para o manexador cURL multi compartido de 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),
]);Use este cliente para o traballo asíncrono e forneza a súa opción de proxy prevista nas operacións. Os valores son orzamentos de exemplo. Para solicitudes públicas permitidas a través dun intermediario público, a lista de proxies HTTP ofrece candidatos para os URL de proxy das operacións.
| Opción | Orzamento |
|---|---|
| MAX_TOTAL_CONNECTIONS | Conexións abertas simultaneamente baixo o manexador múltiple |
| MAX_HOST_CONNECTIONS | Conexións a un só host/porto; as conexións de proxy contan contra o punto final do proxy |
| MAXCONNECTS | Conexións retidas na caché despois do uso |
Varios sitios web que usan o mesmo proxy non reciben automaticamente cotas separadas de conexións de proxy. A capacidade da caché inactiva non abre conexións de antemán nin as fai intercambiables: a reutilización depende da ruta, o destino, o protocolo e a autenticación.
Manteña o orzamento de tarefas da aplicación e calquera cota do provedor coherentes con estes orzamentos de transporte. Contan conexións, non solicitudes por segundo. Aumentar o tempo de espera do socket non pode identificar se consumiu o tempo unha cola ou unha espera de rede.