CURL Multi Threading con PHP

Estoy usando cURL para obtener algunos datos de rango para más de 20,000 nombres de dominio que tengo almacenados en una base de datos.

El código que estoy usando eshttp://semlabs.co.uk/journal/object-oriented-curl-class-with-multi-threading.

La matriz $ competRequests es una solicitud de 20,000 para compet.com api para los rangos de sitios web.

Esta es una solicitud de ejemplo:http://apps.compete.com/sites/stackoverflow.com/trended/rank/?apikey=xxxx&start_date=201207&end_date=201208&jsonp=";

Como hay 20,000 de estas solicitudes, quiero dividirlas en partes, así que estoy usando el siguiente código para lograrlo:

foreach(array_chunk($competeRequests, 1000) as $requests) {
    foreach($requests as $request) {
        $curl->addSession( $request, $opts );
    }

}

Esto funciona muy bien para enviar las solicitudes en lotes de 1.000; sin embargo, el script tarda demasiado en ejecutarse. He aumentado el max_execution_time a más de 10 minutos.

¿Hay alguna forma de enviar 1,000 solicitudes desde mi matriz y luego analizar los resultados y luego generar una actualización de estado y luego continuar con las siguientes 1,000 hasta que la matriz esté vacía? A partir de ahora, la pantalla permanece en blanco todo el tiempo que se ejecuta el script, que puede durar más de 10 minutos.

Respuestas a la pregunta(4)

Su respuesta a la pregunta