我已经设置了一个cron作业,它从网站获取JSON响应,处理它并将其保存到数据库中。 Cron Job将运行一周以上。
我面临两个问题:
我希望我的cron作业能够连续运行超过一周(如果需要),但是在2-3天之后,cron作业就会停止。错误日志不显示任何FAILURE。知道为什么cron作业在没有通知的情况下停止。
我收到一些警告,而我使用file_get_contents获取数据,因为无法打开流:php_network_getaddresses:getaddrinfo failed:/ home /中名称解析暂时失败... 这在大多数情况下有效,但有时我会收到此错误,有人可以告诉我为什么会这样。
此致 Muthukumar
答案 0 :(得分:0)
您可以尝试此功能,而不是通常的file_get_contents();
function get_contents($url, $ua = 'Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1', $referer = 'http://www.google.com/') {
if (function_exists('curl_exec')) {
$header[0] = "Accept-Language: en-us,en;q=0.5";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, $ua);
curl_setopt($curl, CURLOPT_REFERER, $referer);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$content = curl_exec($curl);
curl_close($curl);
}
else {
$content = file_get_contents($url);
}
return $content;
}