Avatar ·

Comment implémenter le multithreading dans les applications PHP ?

Bonjour à tous ! Je code en PHP depuis environ un an et j'ai rencontré un problème que je n'arrive pas à résoudre. Je dois traiter un grand tableau de données (environ 100 000 enregistrements d'une base de données), pour chaque enregistrement je dois effectuer une requête HTTP vers une API externe et sauvegarder le résultat. En boucle, cela fonctionne mais très lentement — une requête prend environ 0,5 à 1 seconde, et tout le traitement peut prendre plusieurs heures. J'ai essayé d'utiliser `curl_multi_exec` pour les requêtes parallèles, mais ce n'est pas exactement ce qu'il me faut, car je dois effectuer non seulement des requêtes HTTP, mais aussi d'autres tâches (par exemple, parsing HTML, écriture dans des fichiers, traitement d'images). Voici un exemple de mon code actuel : ```php $data = getLargeArrayFromDB(); // 100k enregistrements foreach ($data as $item) { $result = callExternalAPI($item['id']); // requête HTTP lente processResult($result); // encore un peu de travail saveToFile($result); } ``` J'ai entendu dire que dans d'autres langages (Java, Python), il y a un vrai multithreading, mais en PHP