Я написал скрипт для пакетной обработки доменов и получения данных по каждому из них.Для каждого полученного домена он подключается к удаленной странице через curl и извлекает данные, необходимые для 30 доменов одновременно.
Эта страница обычно загружается и возвращает результат скручивания в течение 2-3 минут, при этомточка, детали разбираются и помещаются в массив (функция инструментов рейтинга страницы).
После запуска этого скрипта через CRON, я получаю сообщение об ошибке «Сервер MySQL исчез».
Может кто-нибудь сказать мне, если я упускаю что-то очевидное, что может быть причиной этого?
// script dies after 4 mins in time for next cron to start
set_time_limit(240);
include('../include_prehead.php');
$sql = "SELECT id, url FROM domains WHERE (provider_id = 9 OR provider_id = 10) AND google_page_rank IS NULL LIMIT 30";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
do {
$url_list[$row['id']] = $row['url'];
} while ($row = mysql_fetch_assoc($result));
// curl domain information page - typically takes about 3 minutes
$pr = page_rank_tools($url_list);
foreach ($pr AS $p) {
// each domain
if (isset($p['google_page_rank']) && isset($p['alexa_rank']) && isset($p['links_in_yahoo']) && isset($p['links_in_google'])) {
$sql = "UPDATE domains SET google_page_rank = '".$p['google_page_rank']."' , alexa_rank = '".$p['alexa_rank']."' , links_in_yahoo = '".$p['links_in_yahoo']."' , links_in_google = '".$p['links_in_google']."' WHERE id = '".$p['id']."'";
mysql_query($sql) or die(mysql_error());
}
}
Спасибо
CJ