Witam, mam pewien problem. Inicjalizuję multi cURL'a, podpinam do niego np 100 obiektów curla (curl_multi_add_handle), następnie curl_multi_exec w pętli, wszystko fajnie, żądania lecą sobie równolegle ale jest jedna wada, dopiero mogę pobrać odpowiedź (chyba dopiero, po to jest ten temat) gdy wszystkie żądania są zakończone, a czy jest sposób aby zaraz gdy jakiekolwiek z żądań się zakończy to wywoła się funkcja/wykona kawałek kodu czyli
$nodes = array('http://www.google.com', 'http://www.microsoft.com', 'http://www.rustyrazorblade.com'); $node_count = count($nodes);
$master = curl_multi_init();
for($i = 0; $i < $node_count; $i++)
{
$url =$nodes[$i];
$curl_arr[$i] = curl_init($url);
curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true);
curl_multi_add_handle($master, $curl_arr[$i]);
}
do {
curl_multi_exec($master,$running);
JEŚLI jakieś żadanie zakończone WTEDY
{
jakiś kawałek kodu z możliwością odwołania się do zakończonego żądania - curl_multi_getcontent
}
} while($running > 0);