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;
$rubrics =& new RubricsData();
$Parser->rubricsData =& $rubrics;
$ProxyService = new ProxiesService();
$start = (int) FileUtils::loadContents(CALC_START_ID);
$subRubrics = $rubrics->getSubRubricsForParser($parserId, $start, 1);
if (PEAR::isError($subRubrics)) {
    print $subRubrics->getMessage();
    exit;
 function addNextNums($num)
 {
     $sql = "\n\t\t\tUPDATE day_counters SET num = num + ? WHERE id = ?\n\t\t";
     $res =& $this->db->query($sql, array($num, StateUtils::getProcessNum() + 1));
     return $res;
 }