<rmcreative>

RSS

Все заметки с тегами «curl_multi, curl»

Можно уточнить:

    (2)
  1. Обновление Rolling Curl

    13 сентября 2010

    Обновился rolling-curl — PHP-класс для параллельного выполнения большого количества асинхронных HTTP-запросов при помощи curl, который я начал поддерживать в мае 2010.

    Пример использования можно посмотреть в анонсе библиотеки. Сегодня я остановлюсь на изменениях, сделанных в основном LionsAd, за что ему огромное спасибо.

    • Исправлена ошибка, не позволяющая перезаписать значения из конфигурации CURL по умолчанию.
    • Теперь используется curl_multi_select, что должно убрать излишнюю нагрузку на процессор.
    • В параметры обработчика теперь передаётся $request, содержащий соответствующий объект запроса.
    • Класс Request переименован в RollingCurlRequest.
    • Добавлен функционал для работы с группами запросов. Смотрите RollingCurlGroup и README.
    • Теперь можно настроить таймаут для curl_multi_select.
    • single_curl теперь возвращает true.
    • Улучшенный README с дополнениями.

    Пробуем и обновляемся

    21 комментарий
  2. rolling-curl

    13 мая 2010

    rolling-curl — PHP-класс для параллельного выполнения большого количества асинхронных HTTP-запросов при помощи curl, написанная Josh Fraser и поддерживаемая на данный момент мной.

    Правильно чистит память, не простаивает зря, выполняя одновременно заданное число запросов. Обрабатывает каждый ответ сразу после выполнения запроса.

    Пример:

    // URL, которые будем обрабатывать
    $urls = array(
      "http://www.google.com",
      "http://www.facebook.com",
      "http://www.yahoo.com",
    );
     
    // функция для обработки ответа
    function request_callback($response, $info) {
      // получаем title страницы
      if (preg_match("~<title>(.*?)</title>~i", $response, $out)) {
        $title = $out[1];
      }
      echo "<b>$title</b><br />";
      print_r($info);
      echo "<hr>";
    }
     
    $rc = new RollingCurl("request_callback");
    // одновременно позволим не более 20 запросов
    $rc->window_size = 20;
    foreach ($urls as $url) {
        // добавляем запросы в очередь
        $request = new RollingCurlRequest($url);
        $rc->add($request);
    }
    // запускаем
    $rc->execute();

    Пользуемся

    49 комментариев

rokokbet

situs toto

situs toto

rokokbet

situs toto

rokokbet

situs toto

situs toto

situs toto

situs toto

situs toto

rokokbet

rokokbet

toto slot

rokokbet

situs toto

rokokbet

rokokbet

rokokbet

rokokbet

situs toto

situs toto

situs toto

situs toto

situs toto

situs toto

situs toto

situs toto

situs toto

situs toto

situs toto

slot gacor

situs toto

situs toto

situs toto slot gacor Slot Thailand Slot777 Slot Gacor Pg Soft Slot Gacor Slot88 Slot Online Terlengkap slot gacor Slot777 Deposit Via Dana slot online Slot Gacor Bet 100