cURL Multi Threading mit PHP

Ich verwende cURL, um Rangdaten für über 20.000 Domainnamen abzurufen, die ich in einer Datenbank gespeichert habe.

Der Code, den ich benutze, isthttp://semlabs.co.uk/journal/object-oriented-curl-class-with-multi-threading.

Das Array $ competeRequests enthält 20.000 Anfragen an die compete.com-API für Website-Ränge.

Dies ist eine Beispielanfrage:http://apps.compete.com/sites/stackoverflow.com/trended/rank/?apikey=xxxx&start_date=201207&end_date=201208&jsonp=";

Da es 20.000 solcher Anfragen gibt, möchte ich sie in Blöcke aufteilen. Dazu verwende ich den folgenden Code:

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

}

Dies funktioniert hervorragend für das Senden von Anforderungen in Stapeln von 1.000, die Ausführung des Skripts dauert jedoch zu lange. Ich habe die max_execution_time auf über 10 Minuten erhöht.

Gibt es eine Möglichkeit, 1.000 Anfragen von meinem Array zu senden, die Ergebnisse zu analysieren, eine Statusaktualisierung auszugeben und mit den nächsten 1.000 fortzufahren, bis das Array leer ist? Ab sofort bleibt der Bildschirm während der gesamten Ausführung des Skripts weiß. Dies kann mehr als 10 Minuten dauern.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage