Peticiones en paralelo de CURL con PHP

Publicado el 06 agosto 2010 por Displaynone

Cuando realizamos una petición CURL normalmente usamos el método sencillo: hacer petición, esperar respuesta. ¿Pero que ocurre cuando queremos hacer varias peticiones de forma simultánea? por ejemplo para un crawler o una aplicación parecida. En estos casos tenemos que echar mano de curl_multi_*.

Si nos encontramos en esta situación podemos echar mano de la clase ParallelCurl, que de forma muy sencilla nos ayudará en nuestra tarea:

$pc = new ParallelCurl($max_requests, $curl_options);
 
// 3 peticiones en paralelo que empiezan simultaneamente
$pc->startRequest($url1, 'on_request_done');
$pc->startRequest($url2, 'on_request_done');
$pc->startRequest($url3, 'on_request_done');
 
$pc->finishAllRequests();

Parallel cURL execution in PHP

Vía / PHPDeveloper.org