Php 如何从终端运行多线程curl脚本?

Php 如何从终端运行多线程curl脚本?,php,multithreading,cron,cakephp-2.0,curl-multi,Php,Multithreading,Cron,Cakephp 2.0,Curl Multi,我使用了一个用于PHP的multi-curl库,它有助于并行获取多个页面(基本上是一个易于使用的API) My Scenario:从API获取用户数据,对其进行处理并存储结果。必须提取其数据的所有用户都被放入队列中。整个抓取、处理和存储结果将花费大约8-10分钟。如果我同步处理它,成本会非常高。所以我使用了php curl库来实现多线程。如果我在浏览器中运行它,它可以正常工作,但由于它是cron作业,所以我必须使用命令行运行相同的脚本。当我这样做的时候;这是行不通的。有人能帮我吗?提前谢谢 Ps

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

My Scenario
:从API获取用户数据,对其进行处理并存储结果。必须提取其数据的所有用户都被放入队列中。整个抓取、处理和存储结果将花费大约8-10分钟。如果我同步处理它,成本会非常高。所以我使用了php curl库来实现多线程。如果我在浏览器中运行它,它可以正常工作,但由于它是cron作业,所以我必须使用命令行运行相同的脚本。当我这样做的时候;这是行不通的。有人能帮我吗?提前谢谢

Psuedo代码:

$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);
$query=“根据特定条件获取用户限制200”;
$result=执行查询;
$curl\u handle=curl\u multi\u init();
$i=0;
$curl=array();
而($row=mysql\u fetch\u assoc($result)){
$curl[$i]=添加句柄($curl\u句柄,API\u调用);
}
exec_handle($curl_handle);
对于($j=0;$j
//参考网址