Giới hạn tốc độ & thử lại
Lỗi 429 (Rate limit exceeded) nghĩa là bạn chạm giới hạn tốc độ hoặc đồng thời — hãy giảm tải và thử lại như dưới.
Khuyến nghị
- Giảm số yêu cầu đồng thời và tần suất thử lại; đừng dồn dập một mô hình
- Backoff theo cấp số nhân (1s → 2s → 4s) kèm jitter ngẫu nhiên để các lần thử không trùng nhau
- Giảm số kết nối luồng dài chạy đồng thời
Ví dụ thử lại có backoff
python
import random, time
for attempt in range(5):
resp = call_api() # your request function
if resp.status_code != 429:
break
delay = 2 ** attempt + random.random() # 1s -> 2s -> 4s... + jitter
time.sleep(delay)