Код: Выделить всё
http_get_or_post('an.url', 'or.two');
// Do some work here, not worrying about the http going on in the background.
$r = wait_for_and_get_the_results_of_the_http_requests()
curl_setopt($ch1, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
$mh = curl_multi_init();
curl_multi_add_handle($mh,$ch1);
$active = null;
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
// Now, am I free to do some time consuming work here and not worry about
// calling curl_multi_exec every now and then to facilitate the background
// http / socket processes?
while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($mh) != -1) {
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
curl_multi_remove_handle($mh, $ch1);
curl_multi_close($mh);
< /code>
Теперь основной вопрос: мое понимание того, что это сделает правильно? Другие вещи без необходимости периодически вызывают curl_multi_exec, чтобы убедиться, что какой -то буфер не заполнен где -то, и нуждается в ударе, чтобы продолжать идти. Письмо буфера заполнены, но в моем сценарии это не проблема, я беспокоюсь только о том, чтобы называть curl_multi_exec, пока я делаю другие вещи в середине, просто так, что все это не замораживает до следующего шанса, что я назову Curl_multi_exec. Ничего в фоновом режиме, пока я не доберусь до второго цикла. Если нет, то, что вы можете предложить, это сделает это в php?
Подробнее здесь: https://stackoverflow.com/questions/183 ... nc-fashion
Мобильная версия