@PigData

PHP curl_multi — как вернуть первый результат без ожидания остальных?

Делаю curl_multi запрос к нескольким серверам, задача получить первый успешный ответ не дожидаясь остальных ответов. Как это реализовать? Бывает один из серверов подвисает и curl работает до окончания timeout.
  • Вопрос задан
  • 53 просмотра
Решения вопроса 1
toxa82
@toxa82
do { // Запускаем дескрипторы
            $status = \curl_multi_exec($mh, $active);
            $info = \curl_multi_info_read($mh);
            if (false !== $info && $info['msg'] == \CURLMSG_DONE && $info['result'] == \CURLE_OK) {
                // типа выход
            }
            \usleep(250000);
        } while ($status === \CURLM_CALL_MULTI_PERFORM || $active);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
03 мая 2024, в 00:45
1000 руб./за проект
02 мая 2024, в 23:56
2000 руб./за проект