文档Web Unlocker超时策略

超时策略

Web Unlocker API 采用两级超时策略来处理超时,旨在确保请求执行的可控性、系统稳定性以及高效的资源管理。通过设计两种独立的超时策略,该 API 能够在复杂的网络环境和动态页面解析场景中提供稳健的性能,同时有效避免因资源耗尽或长时间等待而导致的系统故障。

1. 全局执行超时

定义:全局执行超时是一种限制 API 请求中所有指令累计执行时间的策略。

超时阈值:180 秒

适用范围:

  • instructions 指令集中所有 waitXxx 系列操作(例如 waitForSelector 或 waitForEvent)。
  • 该阈值涵盖了指令执行期间的潜在等待时间,确保长时间运行的任务不会无限期占用系统资源。

超时行为:

  • 当累计执行时间达到 180 秒时,系统将强制终止整个 API 请求流程,并返回超时错误响应。
  • 该策略确保了 API 的运行时限,防止因指令复杂或配置错误而导致的资源滥用。

2. 页面加载超时

定义:页面加载超时聚焦于浏览器初始化和页面资源加载阶段的时间限制。

超时阈值:30 秒(固定值)

适用范围:

  • 浏览器实例的初始化过程(例如 Puppeteer 或其他浏览器驱动)。
  • 页面资源加载,包括 HTML、CSS、JavaScript 以及其他网络资源。

超时行为:

  • 如果 URL 访问失败或页面资源加载时间超过 30 秒,系统将立即返回错误响应,而不会等待全局超时。
  • 该策略旨在快速识别无法访问的目标页面,避免对无效资源的长时间等待。

3. 超时优先级规则

  • 页面加载超时具有更高的优先级,可以在全局超时之前中断请求执行。
  • 当页面加载阶段发生超时时,系统将立即终止请求流程,而不会进入后续的指令执行阶段。