Avatar ·

¿Cómo implementar multithreading en aplicaciones PHP?

¡Hola a todos! Llevo escribiendo en PHP aproximadamente un año y me he encontrado con un problema que no puedo resolver. Necesito procesar un gran conjunto de datos (alrededor de 100 000 registros de una base de datos), para cada registro debo realizar una solicitud HTTP a una API externa y guardar el resultado. En un bucle funciona, pero es muy lento: cada solicitud toma alrededor de 0.5-1 segundo, y todo el procesamiento puede llevar varias horas. Intenté usar `curl_multi_exec` para solicitudes paralelas, pero no es exactamente lo que necesito porque no solo necesito realizar solicitudes HTTP, sino también otro trabajo (por ejemplo, análisis de HTML, escritura en archivos, procesamiento de imágenes). Aquí hay un ejemplo de mi código actual: ```php $data = getLargeArrayFromDB(); // 100k registros foreach ($data as $item) { $result = callExternalAPI($item['id']); // solicitud HTTP lenta processResult($result); // un poco más de trabajo saveToFile($result); } ``` He oído que en otros lenguajes (Java, Python) hay multithreading normal, pero en PHP