@PigData

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

Делаю curl_multi запрос к нескольким серверам, задача получить первый успешный ответ не дожидаясь остальных ответов. Как это реализовать? Бывает один из серверов подвисает и curl работает до окончания timeout.
  • Вопрос задан
  • 59 просмотров
Решения вопроса 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);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы