Mechanizeに関するkentarou07のブックマーク (3)

  • MechanizeがHistoryを保存してメモリを食いつぶすのを防ぐ - それマグで!

    Mechanizeって便利で、すごく使うのだけれど、履歴がさー履歴がたまるとメモリをいつぶしました。 Mechanizeでは簡単に防げるようです WWW::Mechanize#max_history で履歴の最大数を指定できます。履歴機能を活用しないという場合の推奨値は 1 です。 agent = WWW::Mechanize.new agent.max_history = 1 agent.get(uri) max_history= に 0 を指定すると履歴保持数が 0になりますが、メモリにファイル全体を取り込むこと自体は全く抑制できません。一度全部メモリに取り込んでから履歴が max_history 個になるように削除するという処理の流れになっており、WWW::Mechanize::File#save メソッドなどを即使っても「オンザフライ」で処理されるというようなことはありません。

    MechanizeがHistoryを保存してメモリを食いつぶすのを防ぐ - それマグで!
  • WWW::Mechanize のメモリ消費量について - make world

    WWW::Mechanizeは、通常の利用範囲ならば、メモリ消費量について問題にはならないと思う。 しかし、一回の実行で、数千回以上の URL アクセスを繰り返すようならば、WWW::Mechanize のメモリ消費量を考慮すべきである。考慮しないと、そのうちに Out of Memory エラーが発生して、異常終了してしまうからだ。 WWW::Mechanize でメモリ消費量が増加する理由 それは、WWW::Mechanize はアクセスした URL の接続履歴をずっと残す初期設定があるからだ。履歴をどれだけ残すかどうかの設定があるので、要件に応じて残す履歴の件数を制限するとよい。 WWW::Mechanize の初期設定 $mech->stack_depth($max_depth) Get or set the page stack depth. Use this if you're

    WWW::Mechanize のメモリ消費量について - make world
  • RubyのMechanizeを解説 for 1.0.0 - きたももんががきたん。

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    RubyのMechanizeを解説 for 1.0.0 - きたももんががきたん。
  • 1