複数のページを並行してフェッチするのを容易にする PHP 用のマルチ カール ライブラリを使用しました (基本的に使いやすい 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);
// 参考URL http://codestips.com/php-multithreading-using-curl/