0

Twitter、Facebook、Linkedin などのさまざまなサービスのデータを掘り下げるソーシャル メディア ベースの Rails アプリケーションを開発しています。これらのサービスを利用するには、重大なパフォーマンスの問題に直面しています。

たとえば、統計を準備するために Twitter の user_timeline にアクセスしています。twitter は取得できるツイートの数に制限を課しているため、ページネーションを使用してすべてのツイートを取得する必要があり、その結果、複数の API 呼び出しと IO のブロックが発生します。したがって、ユーザーは何秒も待たなければならず、UX としては受け入れられません。

私たちは Ruby/Rails を初めて使用するので、そのような API (Facebook、LinkedIn) を正しく使用するように設計/設計するための提案が必要です。助けてください。

更新 Ruby (delayed_job、eventmachine) および非 Ruby (node.js) ソリューションを調査しています。

4

1 に答える 1

0

通常、Rails の世界では、上記で説明したようなログイン実行プロセスは、バックグラウンド サービスを通じて行われます。

バックグラウンド サービスは Java のスレッドのようなものです。あなたのワークフローは

  1. ユーザーがウェブページに来る
  2. ユーザーが [ツイートを表示] ボタンをクリックします (これにより、Twitter API を介したデータの抽出がトリガーされます)。
  3. ツイート抽出はバックグラウンド プロセスとして開始されます
  4. APIの抽出が完了するまで待たずにページが読み込まれます

また、いくつかのバックグラウンド プロセスのgemdelayed_jobまたはsidekiqがあります。

于 2013-02-18T05:41:39.473 に答える