ENV["RAILS_ENV"] ||= "development" require ARGV[0] + "/config/environment.rb" require "daemons" require "pp" ROOT_PATH = ARGV[0] LOGS_PATH = ROOT_PATH + "/log" BOT_NAME = ARGV[1] @@logger = Logger.new("/var/www/bh/log/Parser.log") @@logger.info(ARGV) loop { sleep(10) } #loop { # Получаем список песен для загрузки, помечаем в очереди, что мы их взяли в работу # bot_name = # ParseQueue.collection.update({status: {$in: [0, 1, 4]}, $atomic: true}, {$set: {bot_name: bot_name}}) # $queue = $db->getRows($db->q("SELECT * FROM beathaven.queue WHERE status=0 ORDER BY priority DESC, times_failed ASC LIMIT ". QUEUE_PACK)); # $ids = array(); # foreach ($queue as $t) { # $ids[] = $t['track_id']; # } # $db->q('UPDATE beathaven.queue SET status=1 WHERE track_id IN('. implode(',', $ids) .')'); # $db->q('COMMIT'); # if (!$queue || count($queue) == 0) { # sleep(EMPTY_QUEUE_TIMEOUT); # } else { # $stats['queue_size'] = count($queue); # foreach ($queue as $t) { # $t1 = microtime(true); # echo "{$t['track_id']} {$t['track_title']} -- "; # $ok = $vk->getTracks($t['track_title']); # if (strpos($vk->getHtml(), 'searchOffset') === false) { # echo "Session kaput!\n"; # die; # } # if ($ok) { # echo "OK\n"; # $db->q("UPDATE beathaven.queue SET status=3 WHERE track_id=". $t['track_id']); # $file_name = Config::get('app:Parser:good_html_dir'). $t['track_id'] .'.html'; # $stats['good_results']++; # } else { # echo "FAILED\n"; # $db->q("UPDATE beathaven.queue SET status = 2, times_failed = times_failed + 1 WHERE track_id=". $t['track_id']); # $file_name = Config::get('app:Parser:bad_html_dir'). $t['track_id'] .'.html'; # $stats['bad_results']++; # } # file_put_contents($file_name, $vk->getHtml()); # chmod($file_name, 0777); # $stats['last_request'] = $t['track_title']; # $stats['queue_size']--; # $stats['eneded_job'] = time(); # $bot_stats_file_name = Config::get('app:Parser:bot_stats_dir'). $bot_name .'.json'; # file_put_contents($bot_stats_file_name, json_encode($stats)); # chmod($bot_stats_file_name, 0777); # $t2 = microtime(true); # if ($t2 - $t1 < VKTIMEOUT) { # sleep(ceil(VKTIMEOUT - ($t2 - $t1))); # } # } # } #}