Как scraperwiki ограничивает время выполнения?

#scraperwiki

#scraperwiki

Вопрос:

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

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

Ответ №1:

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

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

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

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