1

ついに、ストリーミング、デーモン、cronタスク、およびそれらを中心に構築されたすべての優れたgemを調べることができました。しかし、私はこれらのものをいつどのように使用するかについては明確ではありません。

少し質問があります:

1)Facebookの友達のアクティビティフィード、お気に入りの本に関する最新のAmazon書評、Twitterフィードを使用して、常に最新の状態に保たれるWebサイトが必要な場合は、カスタムを作成するだけで済みます。デーモンジェム、コンテンツをストリーミングするためのルビーヤリジェム、およびいつでもジェムを使用したスト​​リーミングの実装。たとえば、3〜10秒ごとにこれらのサイトをチェックして、探しているコンテンツが変更されているかどうかを確認しますか?それはどのように機能しますか?それとも、通常/できれば別の方法で行われますか?

2)(1)プロセッサを集中的に使用しすぎていませんか?リアルタイムの更新が必要なWebサイトにストリーミングAPIがない場合、それを行うためのより良い方法、ライブコンテンツストリーミングのためのより良い方法はありますか?別の小さなrubyアプリ(デーモンとcronジョブを使用)で数秒ごとにリクエストを送信し、json / xmlの結果を取得し、nokogiriを使用して不要なものを削除してから、コメント/本/投稿などの小さなリスト、変更されたもののフィードを作成し、Juggernautなどを使用してそれらの変更をいくつかのrailsアプリにプッシュします。それはうまくいくでしょうか?

私はそれがすべて質問に要約されると思います:

一部のWebサイトの最新コンテンツのリアルタイムストリーミングはどのように機能しますか?どうやってやるの?...誰かが私のサイトにいる場合、彼らはちょうど出たばかりの新しいメッセージや新しい本をリアルタイムで見ることができますか?

あなたの答えを楽しみにしています、ランス

4

1 に答える 1

1

まず、APIを提供していないウェブサイトの場合、データを解析して抽出することは合法ではないことを強く示していますが、利用規約とプライバシーポリシーを確認することをお勧めします。

個人的には「ストリーミングAPI」と呼ばれるものを知りませんが、APIがあると仮定すると、それによって提供される結果(xml、json、....)をプルし、解析して、ユーザー。戦略はアプリの種類によって異なります。

  1. デスクトップアプリ:データを直接プルして解析し、ユーザーに提供するだけです。多くのアプリは、Twhirlと同じようなものです。
  2. Webアプリ:データを抽出する時間を短縮する必要があります。通常、APIからデータを取得して保存します。ただし、データの保存には少し注意が必要です。データを取得するために取得する極端なプルクエリによって、データベースがアプリのロックダウンになることは望ましくありません。これを行う1つの方法は、プッシュ方法を使用することです。この場合、オプション2に従ってデータを取得し、ユーザーにプッシュします。たとえばチャットのような即時更新が必要な場合は、軌道に乗って見ることができます。ある種のユーザーとフォロワーの「受信トレイ」にデータを保存しても問題がない場合、私が知ることができる最も簡単な方法は、IMAPを使用して更新をユーザーの受信トレイに送信することです。
于 2009-10-01T12:13:29.693 に答える