LWP を使用して Web ページからコンテンツをダウンロードしていますが、LWP がページを待機する時間を制限したいと考えています。
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->env_proxy;
$response = $ua->get("http://XML File");
$content = $response->decoded_content;
問題は、サーバーがときどきデッドロックし (理由を突き止めようとしています)、要求がまったく成功しないことです。サーバーはそれがライブであると認識しているため、ソケット接続を開いたままにしておくため、LWP::UserAgent のタイムアウト値は何の役にも立ちません。リクエストに絶対タイムアウトを強制する最良の方法は何ですか?
タイムアウトが制限に達すると、スクリプトが終了し、スクリプトを続行できなくなります。このスクリプト全体がループに入っており、XML ファイルを順番に取得する必要があります。このタイムアウトを適切に処理し、スクリプトを次のアドレスに継続させたいと思っています。誰もこれを行う方法を知っていますか? ありがとう!!