కర్ల్‌లో టైమ్‌అవుట్‌లను ఎలా నిరోధించాలి

Karl Lo Taim Avut Lanu Ela Nirodhincali



సర్వర్‌లో డేటాను బదిలీ చేస్తున్నప్పుడు, మీరు కర్ల్‌ని ఉపయోగించవచ్చు. ఇది HTTPS మరియు HTTPతో సహా అనేక ప్రోటోకాల్‌లకు మద్దతు ఇచ్చే ఓపెన్-సోర్స్ మరియు క్రాస్-ప్లాట్‌ఫారమ్ సాధనం. కర్ల్ అన్ని ప్లాట్‌ఫారమ్‌లలో పనిచేస్తుంది. అయినప్పటికీ, సర్వర్‌కి కనెక్ట్ చేస్తున్నప్పుడు కర్ల్ గడువు ముగిసే సమయానికి మీరు ఒక సందర్భాన్ని ఎదుర్కోవచ్చు, ఇది కనెక్షన్‌లను తొలగించడానికి దారి తీస్తుంది. మీకు అలాంటి సందర్భం ఉంటే, కర్ల్‌లో గడువు ముగియకుండా ఎలా నిరోధించాలో ఈ పోస్ట్ మీకు మార్గనిర్దేశం చేస్తుంది. చదువు!

కర్ల్ టైమ్‌అవుట్‌లను అర్థం చేసుకోవడం

Curl ఒక HTTP అభ్యర్థన వంటి అభ్యర్థనను అమలు చేసినప్పుడు, ఇచ్చిన ఈవెంట్ కోసం వేచి ఉండటానికి పట్టే గరిష్ట వ్యవధి గడువు ముగింపు వ్యవధి. కనెక్షన్‌ని ఏర్పాటు చేయడానికి, ప్రతిస్పందన కోసం వేచి ఉండటానికి లేదా డేటాను బదిలీ చేయడానికి కర్ల్ తీసుకునే సమయాన్ని నియంత్రించడానికి గడువు ముగియడం అనువైనది. -max-time లేదా -connect-timeout పారామితులను ఉపయోగించి కర్ల్ గడువు ముగిసింది.

మీరు ఎదుర్కొనే వివిధ కర్ల్ గడువు ముగిసింది. ఉదాహరణకు, సర్వర్ TCP కనెక్షన్‌ని ఏర్పాటు చేయడానికి ముందు Curl వేచి ఉండే వ్యవధిని కనెక్షన్ గడువు ముగిసింది. నిర్ణీత సమయంలో కనెక్షన్‌ని ఏర్పాటు చేయడంలో కర్ల్ విఫలమైతే, కనెక్షన్ ఆగిపోతుంది. దీన్ని ఎలా నిరోధించాలో తదుపరి విభాగంలో చూద్దాం.







కర్ల్‌లో టైమ్‌అవుట్‌లను ఎలా నిరోధించాలి

గడువు ముగిసే సమయాలు మీ కనెక్షన్‌ని ప్రభావితం చేస్తాయి మరియు మీ టాస్క్‌లను అమలు చేయకుండా మిమ్మల్ని అడ్డుకోవచ్చు. మీరు సమయం ముగియడంతో ఇబ్బందికరమైన సమయాన్ని కలిగి ఉంటే, మీరు వాటిని నిరోధించడానికి ఒక మార్గం ఉంది. ఖచ్చితమైన గడువు ముగింపు విలువలను సెట్ చేయడం ద్వారా, ఆలస్యాన్ని నివారించడానికి కర్ల్ అభ్యర్థనల కోసం ఎంతకాలం వేచి ఉండాలో మీరు నియంత్రించగలుగుతారు. గడువు ముగింపులను నిర్వచించడం ద్వారా, మీరు HTTP అభ్యర్థనలను Curl ఎలా నిర్వహిస్తుందో నియంత్రించగలుగుతారు.



కర్ల్‌లో గడువు ముగియకుండా నిరోధించడానికి రెండు ప్రధాన మార్గాలు ఉన్నాయి:



1. –connect-timeout

కనెక్షన్ గడువు ముగిసిన సందర్భంలో, మీరు కనెక్షన్‌ని స్థాపించడానికి Curl పట్టే గడువు ముగింపు వ్యవధిని సెకనులలో పొడిగించవచ్చు లేదా ప్రతిస్పందన లేనప్పుడు దానిని నిలిపివేయవచ్చు. –connect-timeout ఎంపికతో, మీరు క్రింది వాక్యనిర్మాణంతో మీ గడువును సెకన్లలో సెట్ చేసారు:





curl --connect-timeout

మేము గడువును 20 సెకన్లకు సెట్ చేసే ఉదాహరణ ఇక్కడ ఉంది:

మీరు సెట్ చేసిన వ్యవధి మీ కనెక్షన్ నిలిపివేయబడటానికి ముందు పట్టే గరిష్ట సమయం. ఆ విధంగా, మీరు కర్ల్‌ని ఉపయోగిస్తున్నప్పుడు గడువు ముగియకుండా నిరోధిస్తారు.



2. -గరిష్ట సమయం <సెకన్లు>

Curlలో గడువు ముగియకుండా నిరోధించడానికి ప్రత్యామ్నాయ మార్గం ఏమిటంటే, Curl కనెక్షన్ మరియు బదిలీ పూర్తయ్యే వరకు వేచి ఉండాల్సిన మొత్తం గడువును పేర్కొనడం. కింది సింటాక్స్‌తో -max-time ఎంపికను ఉపయోగించి ఈ మొత్తం గడువు ముగిసింది:

curl --max-time

ఉదాహరణకు, కింది వాటిలో వివరించిన విధంగా మనం గరిష్టంగా 30 సెకన్ల సమయాన్ని కలిగి ఉండవచ్చు:

అందువల్ల, కర్ల్ ఏదైనా సమయం ముగియడానికి 30 సెకన్లు పడుతుంది. కనెక్షన్ జరగడానికి ముప్పై సెకన్ల సమయం సరిపోతుంది మరియు మీరు గడువు ముగియకుండా నిరోధించవచ్చు.

మీరు గడువు ముగిసిన తర్వాత మళ్లీ ప్రయత్నించే స్క్రిప్ట్‌ను కూడా సెట్ చేయవచ్చు. కనెక్షన్ ఏర్పాటు చేయనప్పుడు మళ్లీ ప్రయత్నించడం జరుగుతుంది. కనెక్షన్‌ని పునరావృతం చేయడం ద్వారా గడువు ముగియకుండా నిరోధించడానికి ఈ ఎంపిక మీకు సహాయపడుతుంది. మీరు మీ స్క్రిప్ట్‌లో లూప్ కేసుతో ముగుస్తుంది. మీరు లూప్‌ను కొన్ని సార్లు కలిగి ఉండవచ్చు, ఉదాహరణకు 5 సెకన్ల సమయం ముగిసిన విరామంతో నాలుగు సార్లు.

మీరు కర్ల్‌లో గడువు ముగియడాన్ని ఎలా నిరోధించాలో మీరు నిరోధించాలనుకుంటున్న సమయం ముగిసింది. సాధారణంగా, రెండు ఎంపికలు సమయం ముగియకుండా నిరోధించడానికి ప్రామాణిక మార్గాలు.

ముగింపు

సర్వర్‌కి కనెక్షన్ విఫలమైనప్పుడు మరియు ఆగిపోయినప్పుడు కర్ల్‌లో గడువు ముగిసింది. మీరు కనెక్షన్ గడువు ముగింపు వ్యవధిని మరియు కనెక్షన్ డ్రాప్ అయ్యే ముందు గరిష్ట సమయాన్ని సెటప్ చేయడం ద్వారా ఈ గడువు ముగియకుండా నిరోధించవచ్చు. మేము విషయం మరియు రెండు విధానాలకు ఇచ్చిన ఉదాహరణలను చర్చించాము. ఆశాజనక, మీరు దీన్ని మీ వైపున అమలు చేయవచ్చు మరియు కర్ల్‌లో గడువు ముగియకుండా నిరోధించవచ్చు.