Добрый день!
Есть код который из БД выбирает все домены, выполняет проверку AlexaRank по доменам и пишет результат в базу:
<?php
ini_set("display_errors",1);
error_reporting(E_ALL);
include ('../inc/conf.php'); // Connect db
$q=mysql_query('SELECT * FROM `domain`');
while($post=mysql_fetch_assoc($q)){
//domain list
$id = htmlspecialchars(abs(intval($post['id'])));
$domain_name = htmlspecialchars($post['domain_name']);
$alexa = simplexml_load_file("http://data.alexa.com/data?cli=10&dat=snbamz&url=$domain_name");
//$localrank = $alexa->SD[1]->COUNTRY["RANK"];
$globalrank = $alexa->SD[1]->POPULARITY["TEXT"];
mysql_query("UPDATE `domain` SET `alexa_rank`='$globalrank' WHERE `domain_name`='$domain_name'");
//echo "$id </br>";
}
?>
У меня сейчас 8000 доменов, скрипт их вытягивает и обрабатывает, но после 500-600 скрипт перестает работать с ошибкой:
504 Gateway Time-out, если поставить лимит на 500 то обрабатывает без ошибок. Но постоянно нужно редактировать код и прописывать этот самый лимит:
SELECT * FROM `domain` LIMIT 628,500
и т.д. !
Как можно это автоматизировать? Чтобы сам скрипт поэтапно брал, например, по 200 записей обрабатывал и обновлял в БД, потом следующие и т.д.?
Очень нужна помощь!
#UPDATE: Уже ненужно, сам решил...