job A → WebClient A → proxy A → destination
job B → WebClient B → proxy B → destination

同時に動くブラウジング ID ごとに、設定済みの HtmlUnit WebClient を割り当てます。その WebClientOptions が ProxyConfig を所有します。ジョブの実行中は経路を固定として扱います。共有のジョブキューに、共有の可変ブラウザは必要ありません。HTTP ProxyConfig を使う許可された公開ページ確認では、ワーカーに割り当てる前に HTTP プロキシ一覧から候補のエンドポイントを選びます。

ページ、後続の読み込み、セッション状態はそのクライアントに保持します。プロキシ設定を変えても、確立済みの接続を移植することはできません。クライアントを分ければブラウザ状態も分かれるため、経路だけで ID が決まると仮定せず、意図する共有ログインを計画してください。プロキシ認証はインストール済みの HtmlUnit バージョンのインターフェースを使い、Web サイトのログインとは別です。

ブラウザをプールに戻す前に完了条件を定義します。最上位のレスポンスは、スクリプトやバックグラウンド要求が続いている間に届くことがあります。その作業を終えるか取り消し、次の ID が引き継いではならない状態を消去し、その境界を確実に確立できない場合はクライアントを退役させます。

アクティブなクライアント数を制限し、完了した WebClient を閉じます。ブラウザは解析を行い、スクリプトを実行することもあり、単純な転送よりコストがかかります。返された HTML だけが必要なジョブでは、より小さな HTTP クライアントの方が同じリソース予算でより多くの同時要求を支えられます。

関連記事