StateUtils::resetBusy(BUSYSTAT_FILE); // Сохранить состояние - если есть еще урлы страниц if (isset($Parser)) { if ($Parser->hasUrls()) { $Parser->items = array(); $Parser->pageContent = ""; StateUtils::save(PARSERSTATE_FILE, $Parser); } else { print "No more pages.\n"; $Rubrics->setLoaded($Parser->id, true, $Parser->processId); //$Rubrics->freeRubric($Parser->id); } //$Parser->_IContentGrabber(); } } if (StateUtils::isBusy(BUSYSTAT_FILE)) { print "Is busy\n"; exit; } StateUtils::setBusy(BUSYSTAT_FILE); register_shutdown_function("onShutdown"); $ProxyService = new ProxiesService(); $Rubrics =& new RubricsData(); // Восстановить состояние - если было сохранено $Parser = StateUtils::load(PARSERSTATE_FILE); if ($Parser == null) { print "Use new.\n"; $res = $ProxyService->getRandomProxyData(); //print_r($res); $nextRubric = $Rubrics->getRubric(); if (PEAR::isError($nextRubric)) {
require_once "prepend.php"; error_reporting(E_ALL); require_once "YellowPagesContentGrabber.php"; require_once "YellowPages1ContentGrabber.php"; require_once "ProxiesService.php"; require_once "UrlUtils.php"; require_once "StateUtils.php"; require_once "FileUtils.php"; define("CALC_REALNUMS_STAT", "data/calcRealNumsStat.dat"); define("CALC_START_ID", StateUtils::getStateFileName("data/startId.dat")); function onShutdown() { StateUtils::resetBusy(CALC_REALNUMS_STAT); } set_time_limit(0); if (StateUtils::isBusy(CALC_REALNUMS_STAT)) { print "Is busy\n"; exit; } StateUtils::setBusy(CALC_REALNUMS_STAT); register_shutdown_function("onShutdown"); // ƒл¤ YellowPagesContentGrabber запускать скрипт без параметров или 0 0 // ƒл¤ YellowPages1ContentGrabber запускать скрипт c параметрами 1 1 $parserId = StateUtils::getProcessNum() + 1; if ($parserId == 1) { $Parser =& new YellowPagesContentGrabber(); } else { $Parser =& new YellowPages1ContentGrabber(); } $Parser->showInfo = false; $Parser->waitBeforeRequest = 3;
SQL ); define("BUSY_FILENAME", "data/isBusy.dat"); define("STATE_FILENAME", "data/ParserState.dat"); function onShutdown() { global $parser; StateUtils::resetBusy(BUSY_FILENAME); // Проверка наличия новых ссылок на страницы if ($parser->hasUrls()) { $parser->items = array(); $parser->pageContent = ""; StateUtils::save(STATE_FILENAME, $parser); } } if (StateUtils::isBusy(BUSY_FILENAME)) { print "Is busy\n"; exit; } StateUtils::setBusy(BUSY_FILENAME); register_shutdown_function("onShutdown"); $baseUrl = "http://direct.yandex.ru/stat/wordsstat.pl"; // указываем имя сервиса и ip-сервера откуда скрипт запускается $proxyService = new ProxiesService("yandex", "194.186.45.242"); $res = $proxyService->getProxyData(); if (PEAR::isError($res)) { print $res->getMessage(); exit; } $queries = null; $parser = StateUtils::load(STATE_FILENAME);