ホームページ  >  記事  >  バックエンド開発  >  PHP cURL 同時実行におけるコールバック行の機能は何ですか?

PHP cURL 同時実行におけるコールバック行の機能は何ですか?

WBOY
WBOYオリジナル
2016-06-23 14:22:151176ブラウズ

curl cURL php同時実行curlcURL php同時実行curl cURL同時実行

function rolling_curl($urls, $delay) {    $queue = curl_multi_init();    $map = array();     foreach ($urls as $url) {        $ch = curl_init();         curl_setopt($ch, CURLOPT_URL, $url);        curl_setopt($ch, CURLOPT_TIMEOUT, 1);        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);        curl_setopt($ch, CURLOPT_HEADER, 0);        curl_setopt($ch, CURLOPT_NOSIGNAL, true);         curl_multi_add_handle($queue, $ch);        $map[(string) $ch] = $url;    }     $responses = array();    do {        while (($code = curl_multi_exec($queue, $active)) == CURLM_CALL_MULTI_PERFORM) ;         if ($code != CURLM_OK) { break; }         // a request was just completed -- find out which one        while ($done = curl_multi_info_read($queue)) {             // get the info and content returned on the request            $info = curl_getinfo($done['handle']);            $error = curl_error($done['handle']);            $results = callback(curl_multi_getcontent($done['handle']), $delay);            $responses[$map[(string) $done['handle']]] = compact('info', 'error', 'results');             // remove the curl handle that just completed            curl_multi_remove_handle($queue, $done['handle']);            curl_close($done['handle']);        }         // Block for data in / output; error handling is done by curl_multi_exec        if ($active > 0) {            curl_multi_select($queue, 0.5);        }     } while ($active);     curl_multi_close($queue);    return $responses;}


30行目の関数は何ですか?
curl_multi_getcontent($done['handle']) わかりました。後者のパラメータの機能は何ですか?

ディスカッションに返信(解決策)

カスタム関数コールバックの定義を知りませんか?
$delay は、コールバックに渡すものです。もちろん、その意味はあなただけが知っています。

理解できない場合は、それを投稿してください。カスタム関数のコールバックを見てみましょう。 の定義をすでに知っていますか?

$delay は、コールバックに渡したものです。もちろん、その意味はあなただけが知っています。


理解できない場合は、それを投稿してください。見つけた。 。 。結局のところ...それはパフォーマンステストであることが判明しました。 。 。
りー

ため息。 。 。これは記事の不完全な読み取りが原因です。 。 。
さて、2人のモデレーター、思い出させてくれてありがとう~~~

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。