Chính sách Thời gian chờ
Universal Scraping API sử dụng chính sách thời gian chờ hai tầng để đảm bảo khả năng kiểm soát việc thực thi yêu cầu, 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 thời gian chờ độ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 thời gian chờ quá lâu.
1. Thời gian chờ thực thi toàn cục
Định nghĩa: Thời gian chờ 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 lệnh trong một yêu cầu API.
Ngưỡng thời gian chờ: 180 giây
Phạm vi:
- Tất cả các hoạt động thuộc chuỗi
wait_xxx
(chẳng hạn nhưwait_for_selector
hoặcwait_for_event
) trong tập lệnhjs_instructions
. - Ngưỡng này bao gồm thời gian chờ tiềm năng trong quá trình thực thi lệnh, đả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 khi hết thời gian chờ:
- Khi tổng thời gian thực thi đạt 180 giây, hệ thống sẽ buộc chấm dứt 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ờ.
- 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 lệnh phức tạp hoặc cấu hình sai.
2. Thời gian chờ tải trang
Định nghĩa: Thời gian chờ 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 thời gian chờ: 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 khi hết thời gian chờ:
- Nếu truy cập URL thất bại 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 chờ thời gian chờ toàn cục.
- Chính sách này nhằm mục đích nhanh chóng xác định các trang đích không thể truy cập và tránh thời gian chờ dài đối với các tài nguyên không hợp lệ.
3. Quy tắc ưu tiên thời gian chờ
- Thời gian chờ 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 thời gian chờ toàn cục.
- Khi xảy ra thời gian chờ 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 vào giai đoạn thực thi lệnh tiếp theo.