私は現在、異なるホストから価格を取得するためのAPIをLaravel(PHP)に構築しています。現在、756種類の異なるコインがあり、異なるホストから価格を取り出すことができます。例えばPHPで大量のタスクをスケジュールする最良の方法
:コインX
ホスト1 ホスト2ホスト3 - 最大 - 30台のホスト
コインY
ホスト1 ホスト4ホスト5まで30ホスト など
ここで問題となるのは、10秒ごとに各コインを更新するのが理想的です。これは、各コインがすべてのホストを呼び出し、平均価格を計算し、DBに価格を保存し、最後にコインの合計履歴を含むJSONファイルを保存する必要があることを意味します。 (おそらく、現在の価格をJSONとして保存して時間を節約するほうがよいでしょう)
私はこのすべてを各ホストのクラスに入れようとしましたが、実行時間が長すぎますCURLを使用して分)。
私は、各コインのタスク(cronジョブ)を作成すると考えています。このようにして、コインの「更新」は同期することができる(複数のコインを同時に)。しかし、私はこれが最善の方法であると確信しているわけではありません。
あなたはどのようなアプローチをお勧めしますか?すべてのヒントを歓迎します。
こんにちは、ヘイデン、ありがとうanwsering。 1回のリクエストの平均時間は約1時間です。 500〜700ミリ秒。私が正しく理解すれば、すべての要求をCURL_MULTIに入れることを提案しますか?私はまだそれをテストしていませんが、良い呼び出しです。 – Thjeu
私はCURL(単なる単純なリクエスト)とはあまり関係がありませんでしたが、グーグルでは同時に、同時にリクエストを行うことはできません。しかし、あなたがこれを行うことができる方法は、試してみる価値があります。 1つの関数で複数の呼び出しを行うことも、関数の複数の呼び出しを行うこともできますが、間隔を置いてPHPスクリプトを呼び出すには、まだcronジョブが必要です。 –
うわー、私はcurl_multiで全プロセスを実行し、12秒に時間をダウンスケールしました。これは素晴らしい。私はここからさらに働くことができます。多くのありがとうHayden! – Thjeu