Я должен сделать тысячу запросов к API IGDB, и у меня возникают проблемы с выполнением этой работы. Каждый раз, когда я запускаю свой сценарий, он некоторое время загружается, и мой веб-хост говорит мне: «Ошибка: есть проблема … Кажется, что-то пошло не так». (не очень полезно, я знаю).
Поскольку я считаю, что проблема заключается в количестве запросов, я попытался уменьшить его, но я сократил до 60 запросов с паузой в 4 секунды между каждым, но все еще безуспешно.
Моя последняя попытка:
$splice = array_splice($array, 0, 60);
foreach($splice as $key => $value){
$request = wp_remote_get('https://igdbcom-internet-game-database-v1.p.mashape.com/games/?fields=*&search='.$value['Name'],
array( 'headers' => array(
'Accept' => 'application/json',
'X-Mashape-Key' => 'Key' )));
$body = wp_remote_retrieve_body($request);
$data_api = json_decode($body, true);
sleep(4);
}
Кто-нибудь знает, что я делаю не так? У меня заканчиваются идеи …
Скорее всего, это будет не что иное, как тайм-аут от PHP или сервера.
Хотя есть способы обойти эти ценные бумаги, они не зря.
Вы должны использовать CLI для выполнения запросов груза, а не CGI. Доступ к CGI предназначен для обычных пользователей, независимо от их роли / привилегий. Как разработчик, у вас есть доступ к коду и к серверу (или, по крайней мере, ваш системный администратор, если вы в команде). Вы должны использовать командную строку для выполнения этих запросов. Это займет меньше времени, меньше шансов на сбой, и вы сразу же распечатаете журналы ошибок, если не перенаправите их в файл.
Других решений пока нет …