Je dois faire mille requêtes à l'API IGDB et j'ai du mal à faire ce travail. Chaque fois que je lance mon script, il se charge pendant un certain temps, puis mon hébergeur me dit "Erreur: il y a un problème ... Il semble que quelque chose s'est mal passé." (pas très utile je sais). Puisque je crois que le problème vient du nombre de demandes, j'ai essayé de le réduire mais je suis à 60 demandes avec une pause de 4 secondes entre chacune et toujours pas de succès.Comment faire correctement un millier de requêtes à une API en PHP
Mon dernier essai:
$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);
}
Est-ce que quelqu'un sait ce que je fais mal? Je suis à court d'idées ...
Vous ne faites probablement rien de mal .. sauf, vous tombez en attente de délai. En général, le serveur Web (Apache, Nginx, etc.) dispose d'un délai défini pour attendre une réponse du script avant d'afficher la page 'erreur'. De plus, PHP lui-même a une limite de temps. Du côté PHP, vous pouvez définir 'set_time_limit (0)' pour le désactiver. Du côté du serveur web - vous ne pourrez peut-être pas le changer, selon votre fournisseur. Généralement, vous devriez en faire une commande de console au lieu d'une page Web. –
Pourquoi essayez-vous d'effectuer une importation en vrac à partir d'une page Web à l'intérieur d'un CMS ???? !!!!!! – symcbean