Кезеңдік тайм-ауттар мен прокси сұранысының жалпы мерзімі
Кезеңдік шектеулерді прокси арқылы орындалатын операцияның жалпы уақыт бюджетінен бөліңіз, қайталау әрекеттері мен жауапты оқуды қоса.
Қосылу және оқу тайм-ауттары белгілі бір күтулерді шектейді. Олар міндетті түрде бүкіл прокси операциясын шектемейді, оған кезекте күту, DNS, CONNECT, TLS, қайта бағыттаулар, қайталау әрекеттері және жауапты оқу да кіруі мүмкін.
| Шектеу | Аясы |
|---|---|
| Қосылу тайм-ауты | Клиент анықтамасына сәйкес қосылым орнату |
| Оқу белсенділігінің тайм-ауты | Күтілетін деректер ілгерілеуінсіз күту |
| Жалпы мерзім | Толық операцияның рұқсат етілген ұзақтығы |
Операцияның бюджетінен бастаңыз
Клиенттің құжатталған жалпы мерзімін немесе болдырмау механизмін, бар болса, кезеңдік шектеулермен бірге қолданыңыз. HTTPX пул, қосылу, оқу және жазу күтулерін бөледі. Requests өз тайм-ауты толық жүктеу шегі емес екенін айтады. curl жалпы тасымалдау мерзімін ұсынады.
Мысалы, жиырма секундтық жұмыс екі секундты кезекте, үшеуін маршрутын орнатуға және алтауын сәтсіз айырбасқа жұмсайды. Оның келесі әрекетіне шамамен тоғыз секунд қалады. Әрбір қайталау әрекетіне жаңа жиырма секунд беру бастапқы бюджетті тастау болар еді.
Өткен уақытты есептеу үшін монотонды сағатты қолданыңыз. Абсолюттік мерзімді немесе қалған ұзақтықты жұмысты иеленетін қабаттар арқылы тасымалдаңыз. Егер айналадағы болдырмау механизмі қажетті аяны орындай алмаса, бұл шектеуді айқын етіп көрсетіңіз.
Денені және тазалауды қосыңыз
Тақырыптардан кейін қайтатын әдіс денені оқуды өз мерзімінен тыс қалдыруы мүмкін. Бюджет орнатуды, толық шекті жүктеуді немесе бөлек тіршілік ережелері бар ұзақ ағынды қамтитынын шешіңіз. Қазіргі .NET мысалында тақырыптар мен денені болдырмау бір токенді екі кезеңнен өткізеді.
Келесі әрекет пул сыйымдылығын алмас бұрын жауаптарды жабуға және болдырмауды аяқтауға уақыт қалдырыңыз. Сәтсіз кезең мен өткен уақытты жазып отырыңыз; ілгерілеуі бар қайталама оқулар белсенділік шектеулерін қанағаттандыруы мүмкін, ал жалпы жұмыс тым ұзаққа созылады.
Шлюздің жоғары ағынға қатысты мерзімі сол шлюзге тиесілі. Ол 504 қайтарғаннан кейін пайдаланылмаған клиент бюджеті аяқталған әрекетті ұзарта алмайды. Қай параметрді түзету керегін шешкенде әр таймерді өз иесімен байланыстырып ұстаңыз.