Как ограничить количество потоков curl-multi?
Всем привет! Делаю парсер интернет-магазина, в котором при задании ссылок на списки товаров выдаются параметры из карточки товара. Одним словом, парсер на входе должен получать ссылку на список товаров (напр., https://klery.ru/zhenskaya-odezhda/ ) и далее переходить по каждому товару и вытягивать оттуда инфу. За основу взято curl-multi. Чтобы товары на выходе следовали в том же порядке, что и в магазине, необходимо ограничить количество потоков curl-multi до 1. У меня есть следующий код:
$urls = array( "https://klery.ru/zhenskaya-odezhda/", "https://klery.ru/muzhskaya-odezhda/" );
$mh = curl_multi_init();
$chs = array();
foreach ($urls as $url) {
$chs[] = ($ch = curl_init());
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_multi_add_handle($mh, $ch);
}
$prev_running = $running = null;
do {
curl_multi_exec($mh, $running);
if ($running != $prev_running) {
$info = curl_multi_info_read($mh);
if (is_array($info) && ($ch = $info['handle'])) {
$content = curl_multi_getcontent($ch);
$htmlArr[] = $content;
}
$prev_running = $running;
}
} while ($running > 0);
foreach ($chs as $ch) {
curl_multi_remove_handle($mh, $ch);
curl_close($ch);
}
curl_multi_close($mh);
// тут какая-то обработка текста страницы
$dom = new DOMDocument();
foreach ($htmlArr as $html) {
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
//XPath ссылки на товар
$XPathHref = "//div[@class='product-thumb']//div[@class='caption2']/a/@href";
$href = $xpath->query($XPathHref);
}
Никак не могу понять, как правильно сделать ограничение потоков до 1. Т.е. нужно делать по одному запросу и запускать в цикле i раз, где i - количество полученных ссылок на карточки товаров. Не подскажете правильный код?