1

我为 PHP 使用了一个多 curl 库,它有助于并行获取多个页面(基本上是一个易于使用的 API)。

My Scenario: 从 API 获取用户数据,处理并存储结果。所有必须提取数据的用户都放在队列中。整个提取、处理和存储结果将花费近 8 - 10 分钟。如果我同步处理它,它真的很昂贵。所以我使用 php curl 库进行多线程处理。如果我在浏览器中运行它,它工作正常,但由于它的 cron 作业,所以我必须使用命令行运行相同的脚本。当我这样做时;不起作用。有谁能够帮我?提前致谢。

伪代码:

$query = " Fetch users based on certain criteria LIMIT 200" ; 
$result = execute-query ;

$curl_handle = curl_multi_init();
$i = 0;
$curl = array();

while ($row = mysql_fetch_assoc($result)) {    
    $curl[$i] = add_handle($curl_handle, API_CALL);
}

exec_handle($curl_handle);

for ($j = 0; $j < count($curl); $j++)//remove the handles
    curl_multi_remove_handle($curl_handle, $curl[$i]);

curl_multi_close($curl_handle);

// 参考网址 http://codestips.com/php-multithreading-using-curl/

4

0 回答 0