Preparing to multi-account search

This commit is contained in:
magnolia-fan
2011-04-02 18:57:17 +04:00
parent d411680b1b
commit 41efeface3
13 changed files with 160 additions and 460 deletions
+9 -4
View File
@@ -3,14 +3,15 @@
chdir('..');
require_once 'common.php';
Config::loadFile('app', 'config/app.ini');
define('VKTIMEOUT', 1);
$db = Db::getInstance();
$vk = new Vkontakte();
$continue = true;
while ($continue) {
$queue = $db->getRows($db->q("SELECT * FROM beathaven.queue WHERE status=0 OR status=2 ORDER BY priority DESC, times_failed ASC LIMIT 10"));
$queue = $db->getRows($db->q("SELECT * FROM beathaven.queue WHERE status=0 OR status=2 ORDER BY priority DESC, status ASC, times_failed ASC LIMIT 100"));
if (!$queue || count($queue) == 0) {
$continue = false;
} else {
@@ -19,6 +20,7 @@ while ($continue) {
echo "Loading file list: ";
$t1 = microtime(true);
$vk->parse($t['track_title']);
$vk->parseHtml();
$files = $vk->getFiles();
if ($files && count($files) > 0) {
echo "OK (".count($files).")\n";
@@ -27,14 +29,17 @@ while ($continue) {
BeatDB::set($t['track_id'], $files);
echo "Good files: ". count($files) ."\n\n";
$db->q("UPDATE beathaven.queue SET status=1 WHERE track_id=". $t['track_id']);
@unlink('/www/parser_data/html/'. $t['track_id'] .'.html');
} else {
file_put_contents('/www/parser_data/html/'. $t['track_id'] .'.html', $vk->getHtml());
echo "FAILED\n\n";
$db->q("UPDATE beathaven.queue SET status = 2, times_failed = times_failed + 1 WHERE track_id=". $t['track_id']);
}
$t2 = microtime(true);
if ($t2 - $t1 < 5) {
sleep(ceil(5 - ($t2 - $t1)));
if ($t2 - $t1 < VKTIMEOUT) {
sleep(ceil(VKTIMEOUT - ($t2 - $t1)));
}
}
sleep(5);
}
}