Как scraperwiki ограничивает время выполнения? - PullRequest
4 голосов
/ 20 мая 2011

Как scraperwiki решает остановить запланированный запуск?Это основано на фактическом времени выполнения или времени процессора?Или, может быть, что-то еще.

Я очищаю сайт, для которого Mechanize требуется 30 секунд для загрузки каждой страницы, но я использую очень мало ЦП для обработки страниц, поэтому мне интересно, является ли медлительность сервера серьезной проблемой.1003 *

1 Ответ

2 голосов
/ 25 мая 2011

процессорное время, а не время настенных часов.Он основан на функции Linux setrlimit.

У каждого цикла скребка есть ограничение примерно 80 секунд времени обработки.После этого в Python и Ruby вы получите исключение «Превышено время процессора ScraperWiki».В PHP это будет заканчиваться словом «прервано SIGXCPU».

Во многих случаях это происходит, когда вы впервые просматриваете сайт, догоняя отставание существующих данных.Лучший способ справиться с этим - заставить свой скребок выполнять порцию, используя функции save_var и get_var (см. http://scraperwiki.com/docs/python/python_help_documentation/), чтобы запомнить свое место.

Это также позволяет вам легче восстанавливаться последругие ошибки синтаксического анализа.

...