Guzzle అభ్యర్థన కనెక్షన్ స్లాట్ కోసం వేచి ఉండగా సమయం ముగియవచ్చు
షేర్డ్ handler పై cURL multi యొక్క సక్రియ కనెక్షన్ బడ్జెట్లను సెట్ చేయండి మరియు వాటిని నిష్క్రియ కాష్ సామర్థ్యం నుండి వేరు చేయండి.
అసమకాలిక అభ్యర్థన కనెక్షన్ తెరవకముందే గడువు ముగిస్తే, నెట్వర్క్ టైమౌట్లతో పాటు రవాణా యొక్క సక్రియ పరిమితులను కూడా తనిఖీ చేయండి. ఆ పరిమితులు నిండినప్పుడు 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 | ఉపయోగించిన తర్వాత కాష్లో ఉంచే కనెక్షన్లు |
ఒకే ప్రాక్సీని ఉపయోగించే అనేక వెబ్సైట్లు స్వయంచాలకంగా వేర్వేరు ప్రాక్సీ కనెక్షన్ కోటాలను పొందవు. నిష్క్రియ కాష్ సామర్థ్యం ముందుగానే కనెక్షన్లను తెరవదు మరియు వాటిని పరస్పరం మార్చుకోగలిగేలా చేయదు: పునర్వినియోగం మార్గం, గమ్యం, ప్రోటోకాల్ మరియు ప్రామాణీకరణపై ఆధారపడి ఉంటుంది.
అప్లికేషన్ టాస్క్ బడ్జెట్ మరియు ఏదైనా ప్రొవైడర్ కోటాను ఈ రవాణా బడ్జెట్లతో సమన్వయంగా ఉంచండి. అవి కనెక్షన్లను లెక్కిస్తాయి, సెకనుకు అభ్యర్థనలను కాదు. సాకెట్ టైమౌట్ను పెంచడం వల్ల క్యూ లేదా నెట్వర్క్ నిరీక్షణ సమయాన్ని వినియోగించిందో గుర్తించలేము.