【发布时间】:2012-09-05 19:39:06
【问题描述】:
我正在使用 cURL 来获取存储在数据库中的 20,000 多个域名的排名数据。
我使用的代码是http://semlabs.co.uk/journal/object-oriented-curl-class-with-multi-threading。
数组 $competeRequests 是 20,000 个对网站排名的competition.com api 的请求。
由于有 20,000 个这样的请求,我想将它们分成块,所以我使用以下代码来完成:
foreach(array_chunk($competeRequests, 1000) as $requests) {
foreach($requests as $request) {
$curl->addSession( $request, $opts );
}
}
这非常适合批量发送 1,000 个请求,但脚本执行时间过长。我已将 max_execution_time 增加到 10 分钟以上。
有没有办法从我的数组发送 1000 个请求,然后解析结果,然后输出状态更新,然后继续下一个 1000 个请求,直到数组为空?截至目前,在脚本执行的整个过程中屏幕一直保持白色,可能超过 10 分钟。
【问题讨论】:
-
你必须通过你的服务器运行这个脚本,你不能手动运行它吗? ... 20,000 个请求是很多请求,这很可能必须在后台运行
-
我确实想最终将它作为 cron 作业运行..现在我正在浏览器中执行它..
-
我已经在使用 curl multi... "我使用的代码是 semlabs.co.uk/journal/…。"