function processItems($queryData = null)
{
    global $baseUrl;
    global $parser;
    global $params;
    global $db;
    if ($queryData != null) {
        print "Processing: " . $queryData["query"] . "\n";
        $parser->queryNum = 0;
        $parser->queryId = $queryData["id"];
        $parser->queryDataId = $queryData["data_id"];
        $params["text"] = $queryData["query"];
        $url = $baseUrl . "?" . UrlUtils::buildQuery($params);
        $res = $parser->parseFromUrl($url);
    } else {
        print "Continue...\n";
        $res = $parser->parseFromUrl();
    }
    if (PEAR::isError($res)) {
        $parser->proxyService->increase();
        print $res->getMessage() . "\n";
    } else {
        // Пропуск первого элемента, если повтор
        if ((int) $parser->items[0]["num"] == $parser->queryNum) {
            array_shift($parser->items);
        }
        var_dump($parser->items);
        // Добавление полученных подзапросов
        foreach ($parser->items as $item) {
            $name = iconv("UTF-8", "windows-1251", $item["name"]);
            $res = $db->query(CMD_ADD_RESQUERY, array($name, $item["num"], $parser->queryDataId, $parser->queryId));
            if (PEAR::isError($res)) {
                print $res->getMessage() . "\n";
            }
        }
    }
    // Установить флаг обработанного запроса и кол-во подзапросов
    $res = $db->query(CMD_SET_PROCESSED, array($parser->queryNum, $parser->queryId));
    if (PEAR::isError($res)) {
        print $res->getMessage() . "\n";
    }
}