ドキュメントWeb Unlockerタイムアウトポリシー

タイムアウトポリシー

Web Unlocker APIは、タイムアウトに対して2段階のポリシーを採用しており、リクエスト実行の制御性、システムの安定性、および効率的なリソース管理を確保することを目的としています。2つの独立したタイムアウト戦略を設計することで、APIは複雑なネットワーク環境や動的なページ解析シナリオにおいても堅牢なパフォーマンスを提供すると同時に、リソースの枯渇や長時間の待機によるシステム障害を効果的に回避できます。

1. グローバル実行タイムアウト

定義: グローバル実行タイムアウトは、APIリクエスト内のすべての命令の累積実行時間を制限するポリシーです。

タイムアウトしきい値: 180秒

対象範囲:

  • waitXxx 命令セット内のすべての waitForSelector シリーズ操作(例如: waitForEventまたは instructions )
  • このしきい値は命令実行中に発生する可能性のある待機時間を含み、長時間実行されるタスクがシステムリソースを無期限に占有することを防止します。

タイムアウト時の挙動:

  • 累積実行時間が180秒に達すると、システムはAPIリクエスト全体の処理を強制終了し、タイムアウトエラーのレスポンスを返します。
  • このポリシーにより、APIの実行時間に制限が設けられ、複雑な命令や誤設定によるリソースの乱用が防止されます。

2. ページ読み込みタイムアウト

定義: ページ読み込みタイムアウトは、ブラウザの初期化およびページリソースの読み込みフェーズにおける時間制限に焦点を当てます。

タイムアウトしきい値: 30秒(固定値)

対象範囲:

  • ブラウザインスタンスの初期化プロセス(例:Puppeteerやその他のブラウザドライバー)。
  • ページリソースの読み込み。これにはHTML、CSS、JavaScript、およびその他のネットワークリソースが含まれます。

タイムアウト時の挙動:

  • URLへのアクセスに失敗した場合、またはページリソースの読み込み時間が30秒を超えた場合、システムはグローバルタイムアウトを待たずに直ちにエラーレスポンスを返します。
  • このポリシーは、アクセス不能なターゲットページをすばやく検出し、無効なリソースの読み込みに長時間待機することを回避することを目的としています。

3. タイムアウトの優先順位ルール

  • ページ読み込みタイムアウトはより高い優先度を持ち、グローバルタイムアウト前にリクエストの実行を中断できます。
  • ページ読み込みフェーズ中にタイムアウトが発生した場合、システムは直ちにリクエスト処理を終了し、後続の命令実行フェーズに進みません。