diff --git a/php/bin/parse_queue.php b/php/bin/parse_queue.php index ea192f9..cde8395 100755 --- a/php/bin/parse_queue.php +++ b/php/bin/parse_queue.php @@ -10,13 +10,14 @@ $vk = new Vkontakte(); $continue = true; while ($continue) { - $queue = $db->getRows($db->q("SELECT * FROM beathaven.queue WHERE status=0 LIMIT 100")); + $queue = $db->getRows($db->q("SELECT * FROM beathaven.queue WHERE status=2 LIMIT 100")); if (!$queue || count($queue) == 0) { $continue = false; } else { foreach ($queue as $t) { echo "#{$t['track_id']} {$t['track_title']}\n"; echo "Loading file list: "; + $t1 = microtime(true); $vk->parse($t['track_title']); $files = $vk->getFiles(); if ($files && count($files) > 0) { @@ -30,6 +31,10 @@ while ($continue) { echo "FAILED\n\n"; $db->q("UPDATE beathaven.queue SET status=2 WHERE track_id=". $t['track_id']); } + $t2 = microtime(true); + if ($t2 - $t1 < 5) { + sleep(ceil(5 - ($t2 - $t1))); + } } } -} \ No newline at end of file +} diff --git a/php/index.php b/php/index.php index 4665b12..ad30afc 100644 --- a/php/index.php +++ b/php/index.php @@ -1,73 +1,15 @@ getRows($db->q("SELECT status, count(*) as cnt FROM beathaven.queue GROUP BY status")); + +$info = array_fill(0, 3, array()); + +foreach ($rows as $row) { + $info[$row['status']] = $row['cnt']; } -$c = pg_connect('host=localhost port=5432 dbname=beatheaven user=postgres password=password'); - -$t = pg_query($c, "SELECT * FROM beatheaven.bh_artist WHERE name = '{$q}'"); -$artist = pg_fetch_assoc($t); - -$t = pg_query($c, "SELECT * FROM beatheaven.bh_release_group WHERE artist_id = {$artist['id']} AND type = 1"); -$release_groups = array(); -$release_group_ids = array(); -while ($row = pg_fetch_assoc($t)) { - $row['releases'] = array(); - $release_groups[$row['id']] = $row; - $release_group_ids[] = $row['id']; -} - -$t = pg_query($c, "SELECT * FROM beatheaven.bh_release WHERE release_group IN (". implode(',', $release_group_ids) .") AND type=1 ORDER BY date"); -while ($row = pg_fetch_assoc($t)) { - $row['tracks'] = array(); - $release_groups[$row['release_group']]['releases'][$row['id']] = $row; - $t1 = pg_query($c, "SELECT * FROM beatheaven.bh_track WHERE release_id = '{$row['id']}' ORDER BY position"); - while ($row1 = pg_fetch_assoc($t1)) { - $release_groups[$row['release_group']]['releases'][$row['id']]['tracks'][$row1['position']] = $row1; - } -} - -usort($release_groups, function($a, $b){ - return strtotime($a['year']) > strtotime($b['year']); -}); - -$artist['albums'] = array(); -while(list( $i, $rg ) = each($release_groups)) { - $t_list = array(); - $b_list = array(); - $tracks = array(); - $bonus = array(); - - $r = current($rg['releases']); - if (count($r['tracks']) > 0) { - while(list( $j, $t ) = each($r['tracks'])) if ($t['name'] != '[silence]') { - $t_list[] = strtolower($t['name']); - $tracks[] = array('id' => $t['id'], 'name' => $t['name'], 'duration' => round($t['length'] / 1000)); - } - - while(list( $j, $r ) = each($rg['releases'])) { - while(list( $k, $t ) = each($r['tracks'])) if ($t['name'] != '[silence]') { - if (!in_array(strtolower($t['name']), $t_list) && !in_array(strtolower($t['name']), $b_list)) { - $bonus[] = array('id' => $t['id'], 'name' => $t['name'], 'duration' => round($t['length'] / 1000)); - $b_list[] = strtolower($t['name']); - } - } - } - } - - $artist['albums'][] = array( - 'name' => $rg['name'], - 'year' => $rg['year'], - 'tracks' => $tracks, - 'bonus' => $bonus - ); -} - - -include 'tpl/index.php'; +print_r($info);