Многократные запросы API с оболочкой API OVH

Я пытаюсь создать веб-интерфейс для взаимодействия с API OVH, используя официальную оболочку PHP.

Сначала я получаю свой список IP-адресов:

$ips = $ovh->get('/ip');

Но затем для каждого IP-адреса я хочу получить соответствующую информацию и поместить ее в таблицу, поэтому я делаю:

foreach ($ips as $ip) {
$ip_infos = $ovh->get('/ip/' . $ip_api);
}

Это работает, но для каждого звонка, я должен ждать предыдущего. Таким образом, загрузка полной страницы занимает около 30 ~ 40 секунд из-за ~ 100 IP.

Есть ли способ отправить только один большой запрос вместо множества маленьких с помощью PHP-оболочки OVH? Или может быть многопоточность? Все, что может значительно ускорить запросы.

0

Решение

До тех пор, пока ваш движок PHP не будет собран с «ZTS» (Zend Thread Safety) и у вас не установлено расширение pthread, это не может быть достигнуто с помощью только официальной оболочки PHP. Если использование простого PHP является обязательным, вы можете залатать оболочку для использования Curl Multi. Увидеть http://www.phpied.com/simultaneuos-http-requests-in-php-with-curl/ для примера.

Другой способ сделать это — использовать гибридный подход с использованием JS на стороне клиента.

  1. PHP возвращает страницу со списком IP-адресов
  2. JS асинхронно запрашивает данные IP

Это эффективно вызовет несколько параллельных запросов и улучшит взаимодействие с пользователем. На самом деле, это то, что пользовательский интерфейс OVH делает под капотом.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]