2015-08-05 3 views
-1
function xyz() { 
    $url = "http://example.com"; 
    return $this->getdata($url); 
} 

function abc() { 
    $url = "http://example.org"; 
    return $this->getdata($url); 
} 

    function getdata($url) { 
     $curl = curl_init($url); 
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); 
     $output = curl_exec($curl); 
     curl_close($curl); 
     return $output; 
    } 

У меня есть функция getdata() для извлечения удаленных веб-страниц и двух функций abc() и xyz() с двумя уникальными URL-адресами, которые должны быть получены.Вызов нескольких функций одновременно

Теперь проблема в том, что каждый запрос getdata() занимает около 5 секунд, у меня есть много функций, таких как abc() и xyz(), поэтому их последовательный вызов будет стоить мне много времени.

Есть ли способ вызова этих функций одновременно? Отправить несколько запросов вместе? Поэтому, независимо от количества запросов, они всегда будут иметь 5 секунд?

+0

Нет ничего из этого не будет для DOS атаки, у меня есть корневой сервер: | Чтобы быть точным, я хочу запросить у 5 URL только сразу. –

+0

Почему я получаю downvoted? –

+0

Аналогичный вопрос можно задать без http-запросов, которые являются полностью полезными. Если у вас есть 5 массивов, которые вы хотите выполнить пользовательскую функцию сортировки, это занимает 3 секунды. Как вы могли бы отсортировать их все одновременно, так что процесс займет всего 3 секунды вместо 15. – Andrew

ответ

0

Обходные может использовать несколько параллельных запросы Curl, изложенные в следующем ответе:

https://stackoverflow.com/a/9311112/5194892

+0

Вы правы, это выполнит эту работу, но это не то, что я задал в вопросе. Спасибо в любом случае: D –

Смежные вопросы