Chính sách Hết Thời gian
API Scraping Toàn diện sử dụng chính sách hết thời gian hai tầng để đảm bảo việc thực thi yêu cầu có thể kiểm soát được, sự ổn định của hệ thống và quản lý tài nguyên hiệu quả. Bằng cách thiết kế hai chiến lược hết thời gian độc lập, API có thể cung cấp hiệu năng mạnh mẽ trong các môi trường mạng phức tạp và các kịch bản phân tích cú pháp trang động, đồng thời tránh hiệu quả các lỗi hệ thống do cạn kiệt tài nguyên hoặc chờ đợi quá lâu.
1. Hết Thời gian Thực thi Toàn cục
Định nghĩa: Hết thời gian thực thi toàn cục là chính sách giới hạn tổng thời gian thực thi của tất cả các hướng dẫn trong một yêu cầu API.
Ngưỡng Hết Thời gian: 180 giây
Phạm vi:
- Tất cả các thao tác thuộc chuỗi
waitXxx
(chẳng hạn nhưwaitForSelector
hoặcwaitForEvent
) trong tập hợp hướng dẫninstructions
. - Ngưỡng này bao gồm thời gian chờ tiềm năng trong quá trình thực thi hướng dẫn, đảm bảo rằng các tác vụ chạy lâu không chiếm dụng tài nguyên hệ thống vô thời hạn.
Hành vi Hết Thời gian:
- Khi tổng thời gian thực thi đạt 180 giây, hệ thống sẽ buộc dừng toàn bộ quá trình yêu cầu API và trả về phản hồi lỗi hết thời gian.
- Chính sách này đảm bảo giới hạn thời gian chạy cho API, ngăn chặn việc lạm dụng tài nguyên do các hướng dẫn phức tạp hoặc cấu hình sai.
2. Hết Thời gian Tải Trang
Định nghĩa: Hết thời gian tải trang tập trung vào giới hạn thời gian cho các giai đoạn khởi tạo trình duyệt và tải tài nguyên trang.
Ngưỡng Hết Thời gian: 30 giây (giá trị cố định)
Phạm vi:
- Quá trình khởi tạo phiên bản trình duyệt (chẳng hạn như Puppeteer hoặc các trình điều khiển trình duyệt khác).
- Việc tải tài nguyên trang, bao gồm HTML, CSS, JavaScript và các tài nguyên mạng khác.
Hành vi Hết Thời gian:
- Nếu truy cập URL không thành công hoặc thời gian tải tài nguyên trang vượt quá 30 giây, hệ thống sẽ ngay lập tức trả về phản hồi lỗi mà không cần chờ hết thời gian toàn cục.
- Chính sách này nhằm nhanh chóng xác định các trang đích không thể truy cập và tránh chờ đợi lâu đối với các tài nguyên không hợp lệ.
3. Quy tắc Ưu tiên Hết Thời gian
- Hết thời gian tải trang có ưu tiên cao hơn và có thể ngắt việc thực thi yêu cầu trước khi hết thời gian toàn cục.
- Khi xảy ra hết thời gian trong giai đoạn tải trang, hệ thống sẽ ngay lập tức chấm dứt quá trình yêu cầu mà không cần vào giai đoạn thực thi hướng dẫn tiếp theo.