【问题标题】:How does scraperwiki limit the execution time?scraperwiki 如何限制执行时间?
【发布时间】:2011-08-29 10:55:34
【问题描述】:

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

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

【问题讨论】:

    标签: scraperwiki


    【解决方案1】:

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

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

    在许多情况下,当您第一次抓取网站时会发生这种情况,以弥补现有数据的积压。处理它的最好方法是让你的爬虫使用 save_var 和 get_var 函数(见http://scraperwiki.com/docs/python/python_help_documentation/)一次做一个块来记住你的位置。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-23
      • 2020-02-04
      • 2012-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      相关资源
      最近更新 更多