0

したがって、私のアプリケーション (レール) のコア データは、外部サイトからのデータに依存しています。しかし、データについて外部サイトに繰り返しクエリを実行しないように処理する方法と、データをローカルに永続化されたオブジェクトに変換する必要があるかどうかについて、少し迷っています。Rails と ActiveRecord の両方がキャッシュの方法を提供していることは知っています。

基本的に、Classroom のコース情報をハッシュの配列の形式で取得します。各ハッシュはコース オブジェクトを表します。さらに、各コース オブジェクトは、外部 REST サービスから特定のコース情報を取得するための URI を保持します。

私は現在、次のようなものを検討しています:

  • ローカル データベースに永続化されたオブジェクトに外部データをマッピングする
  • Rails でキャッシュを利用し、有効期限を設定します。
  • 更新中 (不明): Rails キャッシュからレコードを取得するときに、有効期限が切れている場合は、外部サイトから提供された URI を使用して、外部ソースからそのコースを取得するように設定します。もしかしてこれがサービス?

上記に関する提案はありますか?

4

1 に答える 1

0

最初のオプション (DB に永続化される独自のモデルに外部データをマッピングする) を使用すると、データを同期する適切な方法があれば問題ありません。

一部のワーカーでsidekiqを使用して、変更を継続的にポーリングし、ローカル レコードを更新しました。クライアントにデータをプルして変更を確認するよう強制するよりも、データが変更されたことを外部サービスが通知する何らかの方法 ( Superfeedrなどのサービスに公開する、他のフィードに関するメタデータを含むフィードを提供するなど) を提供する方が適切です。いずれにせよ、変更されたものを更新する必要があります。これをバックグラウンド ワーカーで管理するのがおそらく最善の方法です。

于 2013-01-20T21:53:36.983 に答える