4

scraperwiki 如何决定停止预定运行?它是基于实际执行时间还是 CPU 时间?或者也许是别的东西。

我抓取了一个网站,Mechanize 需要 30 秒来加载每个页面,但我使用很少的 CPU 来处理页面,所以我想知道服务器的缓慢是否是一个主要问题。

4

1 回答 1

2

CPU时间,而不是挂钟时间。它基于 Linux 函数 setrlimit。

每个刮刀运行的处理时间限制为大约 80 秒。之后,在 Python 和 Ruby 中你会得到一个异常“ScraperWiki CPU time exceeded”。在 PHP 中,它将以“由 SIGXCPU 终止”结束。

在许多情况下,当您第一次抓取站点时会发生这种情况,以赶上现有数据的积压。处理它的最佳方法是使用 save_var 和 get_var 函数(请参阅http://scraperwiki.com/docs/python/python_help_documentation/ )让您的刮刀一次执行一个块来记住您的位置。

这也使您可以更轻松地从其他解析错误中恢复。

于 2011-05-25T14:44:08.133 回答