次の機能を備えた Rails アプリケーションを開発するための最良の方法を考えています。
- すべてのデータは、サードパーティへの SOAP リクエストから取得されます
- バックグラウンド タスクは、この SOAP リクエストを ~10 秒ごとに行います
- バックグラウンド タスクは応答を解析し、それに応じて ActiveRecord モデルを更新します。
- データはデータベースにまったく書き込まれません。アプリが失敗した場合、バックアップを開始すると、データは再び SOAP 要求から取得されます。
- ユーザーは、モデル内のデータを表示するだけのアプリにリクエストを行います (つまり、soap リクエストから)。
データはそれほど頻繁に変更されないため、ユーザーごとに SOAP リクエストを行うことを避けるという考え方です。とにかく、データベースを使用しないと、リクエストからのみ取得されるデータの読み取りと書き込みが回避されます。
いくつかの gem を使用すれば、これらすべてを完全に単純化できると思いますが、要件を満たすものと満たさないものを選別するのに少し苦労しました。
ありがとう