Kuidas Curlis aegumistähtajaid vältida

Kuidas Curlis Aegumistahtajaid Valtida



Andmete ülekandmisel serveri kaudu saate kasutada Curli. See on avatud lähtekoodiga ja platvormideülene tööriist, mis toetab paljusid protokolle, sealhulgas HTTPS ja HTTP. Curl töötab kõigil platvormidel. Siiski võib juhtuda, et Curl satub serveriga ühenduse loomisel ajalõppudesse, mis põhjustab ühenduse katkemist. Kui teil on selline juhtum, juhendab see postitus teid Curli ajalõppude vältimiseks. Loe edasi!

Curl'i ajalõppude mõistmine

Kui Curl täidab päringu, näiteks HTTP-päringu, on maksimaalne kestus, mis kulub antud sündmuse ootamiseks, ajalõpu periood. Ajalõpud sobivad ideaalselt aja kontrollimiseks, mis kulub Curlil ühenduse loomiseks, vastuse ootamiseks või isegi andmete edastamiseks. Curl timeout seadistatakse parameetrite –max-time või –connect-timeout abil.

Võite kohata erinevaid Curl'i ajalõppe. Näiteks määrab ühenduse ajalõpp kestuse, mille Curl ootab, enne kui server TCP-ühenduse loob. Kui Curl ei suuda määratud aja jooksul ühendust luua, katkestatakse ühendus. Kuidas seda vältida, vaatame järgmises jaotises.







Kuidas Curlis aegumistähtajaid vältida

Aegumised võivad mõjutada teie ühendust ja takistada teil ülesannete täitmist. Kui teil on ajalõpudega raske, saate neid kuidagi vältida. Määrates täpsed ajalõpu väärtused, saate juhtida, kui kaua Curl taotlusi ootab, et vältida viivitusi. Ajalõppude määramisega saate juhtida, kuidas Curl HTTP-päringuid käsitleb.



Curlis on ajalõpu vältimiseks kaks peamist viisi.



1. –ühenduse ajalõpp

Ühenduse ajalõpu korral saate pikendada aegumisperioodi sekundites, mis kulub Curlil ühenduse loomiseks, või katkestada selle vastuse puudumisel. Suvandiga –connect-timeout määrate aegumise sekundites järgmise süntaksiga:





curl --connect-timeout

Siin on näide, kus seadsime ajalõpuks 20 sekundit:

Teie määratud kestus on maksimaalne aeg, mis kulub enne ühenduse katkemist. Nii väldite Curli kasutamisel aegumistähtajaid.



2. –maksimaalne aeg

Alternatiivne viis Curlis ajalõppude vältimiseks on määrata kogu aeg, mille jooksul Curl peaks ootama ühenduse ja ülekande lõpetamist. See koguaeg määratakse järgmise süntaksiga suvandi –max-time abil:

curl --max-time

Näiteks võib meil olla –maksimaalne aeg 30 sekundit, nagu on näidatud järgmises:

Seega kulub 30 sekundit, enne kui Curl kogeb ajalõpu. 30 sekundit on ühenduse loomiseks piisav aeg ja väldite aegumist.

Saate määrata ka korduskatse skripti ajalõpuks. Kui ühendust ei looda, tehakse korduskatse. See suvand aitab teil ühenduse kordamise kaudu ajalõppu ära hoida. Teie skriptis on tsükkel juhtum. Silmust saab teha paar korda, näiteks neli korda 5-sekundilise ajalõpu intervalliga.

Curlis ajalõpu vältimine sõltub ajalõpust, mida soovite vältida. Üldiselt on need kaks võimalust ajalõpu vältimise standardviisid.

Järeldus

Curli ajalõpud ilmnevad siis, kui ühendus serveriga ebaõnnestub ja katkeb. Saate neid ajalõpusid vältida, kui seadistate ühenduse ajalõpu kestuse ja maksimaalse aja, enne kui ühendus katkeb. Arutasime asja ja toodud näiteid kahe lähenemise kohta. Loodetavasti saate sama enda jaoks rakendada ja Curlis vältida aegumistähtajaid.