当采集服务器偶尔网络不好导致拉取页面失败,系统采集失败自动停止,只能人工重新开始,非常浪费时间。
为了强化采集从而忽略因为偶发网络延时导致的任务失败,修改 /extend/net/gather.php
将 field_content函数里的内容
if (!$html){
if($test['state']===false){
return ['error'=>true,'msg'=>'无法获取页面','url'=>$url];
}else{
self::echo_msg('无法获取页面:url['.$url.']');
return false;
}
}
修改为
$retrytimes=10;
while (!$html){
$retrytimes--;
if ($retrytimes>0){ //获取失败重新尝试
sleep(3);
$html=self::get_html($url,$info['charset'],$info['url_complete']);
}else{
if($test['state']===false){
return ['error'=>true,'msg'=>'无法获取页面','url'=>$url];
}else{
self::echo_msg('无法获取页面:url['.$url.']');
return false;
}
}
}
myoppo
发表于 2020-3-20
如果只针对网络原因,的确是一个好方法。
评论列表
加载数据中...