curl_multi_info_read

cyberianbrain

Новичок
curl_multi_info_read

подскажите пожалуйста, кто имеет опыт работы с мультикурлом
пытаюсь создать многопоточный процесс, чтоб при каждом заверщении одного из задания запускалось следующее
вот по этому примеру делаю http://seoutils.net/archives/187 , но отличие в том, что у меня нет массива урлов, курлом запскается один и тот же файл
вот фрагмент моего кода:
PHP:
set_time_limit(0);

$treads = 10;


  $ch=array();
  for($flow=0;$flow<$treads;$flow++) $ch[]=curl_init('my.php'); //создание массива cURL
  $mh=curl_multi_init(); //создание cURL_multi
  for($flow=0;$flow<$treads;$flow++) { //В этом цикле инициализируются cURL
    curl_setopt($ch[$flow],CURLOPT_REFERER,'TESTREFERER');
    curl_setopt($ch[$flow],CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch[$flow],CURLOPT_POST,1);
    curl_setopt($ch[$flow],CURLOPT_POSTFIELDS,'TEST=TESTVAR');
    curl_setopt($ch[$flow],CURLOPT_COOKIE,'TEST=TESTCOOKIE');
    curl_multi_add_handle($mh,$ch[$flow]);

  }

$flows=null;
  do {
  curl_multi_exec($mh,$flows);
  $info=curl_multi_info_read($mh);
  print_r( curl_multi_info_read( $mh ) );
  print($flows.' '.$info.'<br>');
        if($info){
        $cc = $info['handle'];
        print($flows.' '.$cc.'<br>');
        $done_url = curl_getinfo($cc, CURLINFO_EFFECTIVE_URL);
        $done_content = curl_multi_getcontent($cc);
        curl_setopt($cc,CURLOPT_URL,'my.php');
	    $res=curl_multi_getcontent($cc);
    	curl_multi_remove_handle($mh,$cc);
	    curl_multi_add_handle($mh,$cc);
    	curl_multi_exec($mh,$flows);
    	}


 } while($flows>0);

  curl_multi_close($mh);
он один раз проходит по 10 заданиям и останавливается
в чем ошибка?
пытался проследить значения массива print_r( curl_multi_info_read( $mh ) );
ничего не показывает (должен ли?)
 

partizan

Новичок
Тоже что-то подобное пробовал - не получается так, чтоб при каждом заверщении одного из задания запускалось следующее.

Надо N потоков запуcтить, дождаться пока все закончат, а потом следующую партию запускать
 
Сверху