@kolomat

Разобраться с multiCurl?

Добрый вечер, извенюяь сразу, суть вопроса не смог в заголовке опиисать нормаль. Проблема в целом заключается в чем, есть API на эндпоинт передается id товара, в ответ прихоидт его там описание, цены и т.д., но посколько товаров жутко много решил попробовать mCurl, но тут столкулся с такой проблемой. Сам код
$perRequest = 200;

for ($i = 0; $i < count($products); $i += $perRequest) {
    $currentNodes = array_slice($products, $i, $perRequest);

    $mh = curl_multi_init();

    foreach ($currentNodes as $key => $value) {
        $multiCurl[$key] = curl_init();
        curl_setopt_array($multiCurl[$key], array(
            CURLOPT_URL => 'https://site.com/' . $value['sku'],
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_HTTPHEADER => array(
                "Authorization: Bearer " . $token,
            ),
        ));
        curl_multi_add_handle($mh, $multiCurl[$key]);
    }

    $index = null;

    do {
        curl_multi_exec($mh,$index);
    } while ($index > 0);

    foreach ($multiCurl as $k => $ch) {
        $data[$k][$i] = json_decode(curl_multi_getcontent($ch), TRUE);
        curl_multi_remove_handle($mh, $ch);
    }
}

Массив $data содержит все нужные данные для обновление, но проблем в том что нет там идетнтификатора по которому можно определить и обновить товар. Тоесть вопрос собственно в чем, помогите понять, возможно ли как то передать $value['sku']
в массив $data или при таком подходе это является невозможным. Заранее спасибо за идеи и подсказки.
  • Вопрос задан
  • 37 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы