我为 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);