私はcURL(GET)を使用してAPIをクエリしていますが、APIは呼び出しごとに25個の結果しか得られません(難しい制限です。私のじゃない)。PHPでAPIを並列にクエリする
結果は次のようになります。最大1,000の結果を、含めることができます([上記]返されたXMLに表示されます)
<response v="2">
<query>my nifty query</query>
<location>new york, ny</location>
<totalresults>920</totalresults>
<start>1</start>
<end>25</end>
<pageNumber>0</pageNumber>
<results>
<result></result>
<result></result>
...
</results>
</response>
合計の結果、ほとんどの場合のように、私は通常、クエリ1,000の結果を持っていますだから、私は基本的にAPIを40回(すなわち呼出しごとに25回の結果×40コール= 1,000の結果)呼ぶ必要があります。すべての呼び出しで、API の開始パラメータを変更し、値を25ずつ増やします(0,25,50、...、975)。
私は現在同期メソッド(私はcurl_exec()
を使用して、GETコマンドを1つ1つforループで実行しています)を呼び出しているので、この全プロセスは完了するまでに8秒かかります。並行してAPIを呼び出し、これらの結果をより速く得る効率的で高速な方法はありますか?ありがとう。
吸い込んで見ますか?北極モンキーズファン? :)ありがとう、私は今それを試して、それが役立つかどうかを確認します – Aviram
**更新:**それは働いた。今度は、すべての結果を得るのに1秒もかかりません。ありがとう! – Aviram