スクレイパーウィキはスケジュールされた実行を停止することをどのように決定しますか? 実際の実行時間またはCPU時間に基づいていますか? または多分何か他のもの。
Mechanize がすべてのページをロードするのに 30 秒を必要とするサイトをスクレイピングしますが、ページを処理するために使用する CPU はほとんどないため、サーバーの遅さが大きな問題ではないかと思います。
スクレイパーウィキはスケジュールされた実行を停止することをどのように決定しますか? 実際の実行時間またはCPU時間に基づいていますか? または多分何か他のもの。
Mechanize がすべてのページをロードするのに 30 秒を必要とするサイトをスクレイピングしますが、ページを処理するために使用する CPU はほとんどないため、サーバーの遅さが大きな問題ではないかと思います。
ウォールクロック時間ではなく、CPU 時間。これは、Linux 関数 setrlimit に基づいています。
各スクレーパーの実行には、約 80 秒の処理時間の制限があります。その後、Python と Ruby では「ScraperWiki の CPU 時間が超過しました」という例外が発生します。PHPでは「SIGXCPUによる終了」で終了します。
多くの場合、これは最初にサイトをスクレイピングし、既存のデータのバックログに追いつくときに発生します。これを処理する最善の方法は、save_var および get_var 関数 ( http://scraperwiki.com/docs/python/python_help_documentation/を参照) を使用してスクレイパーに一度にチャンクを実行させ、場所を記憶させることです。
これにより、他の解析エラーからより簡単に回復することもできます。