Como implementar multithreading em aplicações PHP?
Olá a todos! Escrevo em PHP há cerca de um ano e me deparei com um problema que não consigo resolver. Preciso processar um grande conjunto de dados (cerca de 100.000 registros do banco de dados), para cada registro preciso fazer uma requisição HTTP a uma API externa e salvar o resultado. Em um loop isso funciona, mas é muito lento — cada requisição leva cerca de 0,5-1 segundo, e todo o processamento pode levar várias horas.
Tentei usar `curl_multi_exec` para requisições paralelas, mas não é exatamente o que preciso, porque preciso executar não apenas requisições HTTP, mas também outros trabalhos (por exemplo, parsing de HTML, escrita em arquivos, processamento de imagens).
Aqui está um exemplo do meu código atual:
```php
$data = getLargeArrayFromDB(); // 100k registros
foreach ($data as $item) {
$result = callExternalAPI($item['id']); // requisição HTTP lenta
processResult($result); // mais um pouco de trabalho
saveToFile($result);
}
```
Ouvi dizer que em outras linguagens (Java, Python) existe multithreading normal, mas em PHP