Permintaan Guzzle boleh tamat masa semasa menunggu slot sambungan
Tetapkan belanjawan sambungan aktif cURL multi pada handler kongsi dan bezakannya daripada kapasiti cache melahu.
Jika permintaan tak segerak tamat tempoh sebelum membuka sambungan, periksa had aktif pengangkutan serta had masa rangkaian. libcurl memasukkan pemindahan ke dalam baris gilir apabila had itu dipenuhi, dan belanjawan had masanya terus berjalan semasa dalam baris gilir.
Untuk handler cURL multi kongsi 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),
]);Gunakan klien ini untuk kerja tak segerak dan berikan pilihan proksi yang dimaksudkan pada operasi. Nilai itu ialah belanjawan contoh. Untuk permintaan awam yang dibenarkan melalui perantara awam, senarai proksi HTTP menyediakan calon untuk URL proksi operasi.
| Pilihan | Belanjawan |
|---|---|
| MAX_TOTAL_CONNECTIONS | Sambungan dibuka serentak di bawah handler berbilang |
| MAX_HOST_CONNECTIONS | Sambungan ke satu hos/port; sambungan proksi dikira terhadap titik akhir proksi |
| MAXCONNECTS | Sambungan yang dikekalkan dalam cache selepas digunakan |
Beberapa laman web yang menggunakan proksi yang sama tidak menerima kuota sambungan proksi berasingan secara automatik. Kapasiti cache melahu tidak membuka sambungan lebih awal dan tidak menjadikannya boleh ditukar ganti: penggunaan semula bergantung pada laluan, destinasi, protokol dan pengesahan.
Kekalkan belanjawan tugas aplikasi dan sebarang kuota penyedia selaras dengan belanjawan pengangkutan ini. Ia mengira sambungan, bukan permintaan sesaat. Menaikkan had masa soket tidak dapat mengenal pasti sama ada baris gilir atau tunggu rangkaian yang menggunakan masa itu.