http_sync module
- http_sync.get_session(adapter_retries=True)[מקור]
Session פר-thread. שני מופעים נפרדים: עם שכבת retry של ה-adapter ובלעדיה.
שניהם נשמרים ב-thread-local ונבנים פעם אחת, כדי ששינוי ההתנהגות לא יעלה ב-connection pool נוסף בכל קריאה.
- Return type:
Session- פרמטרים:
adapter_retries (bool)
- http_sync.request(method, url, **kwargs)[מקור]
קריאת HTTP עם Retry, Circuit Breaker ומדדים.
אזהרה
max_attemptsאינו מספר הבקשות שיישלחו בפועל. מתחת ללולאה שכאן, ה-Session מרכיב על ה-adapterurllib3.Retryמשלו (REQUESTS_RETRIES, ברירת מחדל 2), שמנסה שוב על5xxבתוך בקשה אחת. שתי השכבות מוכפלות:max_attempts=2מייצר עד שש בקשות רשת, לא שתיים — נמדד.כדי ש-
max_attemptsיהיה הסך הכולל, העבירו גםadapter_retries=False. אז שכבת ה-adapter מבוטלת והלולאה כאן היא היחידה. ה-Circuit Breaker והמדדים אינם מושפעים — הם חיים כאן ולא ב-adapter.