From: yosi sizu <siduta / hotmail.com>
Subject: [ruby-list:45024] MechanizeとTimeout
Date: Tue, 10 Jun 2008 18:44:31 +0900

るびきちです。

> Mechanize で 巨大なファイル 27Mbyte をダウンロードする以下のようなスクリプトを書きましたが、Timeoutしてしまいます。

* 必ずtimeoutを起こすのでしょうか?
* 他のページだとtimeoutは起こさないのでしょうか?

> どのような設定をとれば回避できるのか、おわかりになる方がおりましたらお教え願いたくメールいたしました。

begin
  # Timeoutを起こすコード
rescue TimeoutError
  puts $!
end

で無視することはできます。

agent = WWW::Mechanize.new                # インスタンス生成
agent.read_timeout = 9999

とかする方法もありそうです。

>    page.links.each do |link|
>       if link.text =~ /CS/
>         #さらにジャンプ
>         page = link.click
>         page.max_history=0        
>         page.open_timeout(nil)
>         page.read_timeout(nil)
>         page.keep_alive_time(3600)

*_timeoutは agent に作用すべきでは?

実際のURLがわからないので現象が再現できず、これ以上はなんとも…

--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/