Guzzle хүсэлт холболтын завсар хүлээх үед хугацаа дуусаж болно
cURL multi-ийн идэвхтэй холболтын төсвийг хуваалцсан handler дээр тохируулж, тэдгээрийг идэвхгүй кэшийн багтаамжаас ялгаарай.
Хэрэв асинхрон хүсэлт холболт нээхээс өмнө хугацаа дууссан бол сүлжээний хугацааны хязгаараас гадна тээврийн идэвхтэй хязгаарыг шалгаарай. Эдгээр хязгаар дүүрсэн үед libcurl дамжуулалтыг дараалалд оруулж, дараалалд байх хугацаанд нь тэдний хугацааны төсөв үргэлжилнэ.
Guzzle 7-ийн хуваалцсан cURL multi handler-ийн хувьд:
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),
]);Энэ клиентийг асинхрон ажилд ашиглаж, үйлдлүүдэд түүний зориулсан прокси сонголтыг өгөөрэй. Утгууд нь жишээ төсөв юм. Нийтийн зуучлагчаар зөвшөөрөгдсөн нийтийн хүсэлтүүдэд HTTP прокси жагсаалт үйлдлүүдийн прокси URL-д нэр дэвшигчдийг санал болгодог.
| Сонголт | Төсөв |
|---|---|
| MAX_TOTAL_CONNECTIONS | Multi handler-ийн дор нэгэн зэрэг нээгдсэн холболт |
| MAX_HOST_CONNECTIONS | Нэг хост/порт руу чиглэсэн холболт; прокси холболт нь прокси төгсгөлийн цэгт тооцогдоно |
| MAXCONNECTS | Ашигласны дараа кэшэд үлдэх холболт |
Нэг прокси ашигладаг хэд хэдэн вэбсайт автоматаар тусдаа прокси холболтын квот авахгүй. Идэвхгүй кэшийн багтаамж холболтыг урьдчилан нээхгүй бөгөөд тэдгээрийг харилцан сольж болохоор болгодоггүй: дахин ашиглалт нь маршрут, очих газар, протокол, баталгаажуулалтаас хамаарна.
Аппликейшны даалгаврын төсөв болон нийлүүлэгчийн квотыг эдгээр тээврийн төсөвтэй нийцүүлэн байлгаарай. Тэд секундэд хүсэлт биш, холболтыг тоолдог. Socket-ийн хугацааны хязгаарыг өсгөх нь дараалал эсвэл сүлжээний хүлээлт цагийг зарцуулсан эсэхийг тодорхойлж чадахгүй.