我有一个PHP脚本,它循环遍历URL的数据库表,并为每个URL调用PHP cURL,抓取数据,然后将数据保存到不同的数据库中。代码:
$results = $wpdb->get_results("SELECT * FROM urls ORDER BY id DESC");
foreach($results as $row) {
//PHP CURL STUFF HERE
}
上述脚本每隔12分钟使用cPanel的CRON运行。我的问题是:a)需要更频繁地删除URL以获得更好的结果,因为有时循环需要时间来完成,并且在12分钟的时间内不会覆盖一些URls。
现在..上述策略是唯一的策略还是有更好的解决方案,例如Multi Curl?我在想是否可以拥有像script.php这样的东西?url = 1然后有一个专用的CRON或类似的URL,所以我可以跟踪和检查这个确切的URL。这可能吗?如果有,怎么样?如果数据库中有300个URL,我就无法为它创建300个CRON :(
期待您的意见:)=
答案 0 :(得分:0)
多次调用PHP并不是一个好的解决方案。 为什么你不能在12分钟内做300次请求? (那真的很慢)
您需要添加超时,例如
curl_setopt($ch, CURLOPT_TIMEOUT, 10); //Each url will take 10 sec max
然后显示包含URL的日志以查找慢速请求
使用curl_errno()
检测错误
代码28超时。