ActiveRecord コードを持たない非常に単純な Ruby on Rails アプリがあります。このアプリは、「レコード」URL を介して文字通り 1 行のテキストを保存します。次に、記録されたテキスト行をフィードバックする URL にアクセスできるようにしたいと考えています。このような:
Person 1: POST to www.myUrl.heroku.com/recorder, DATA = "本当に興味深い文字列"
人物 2: www.myUrl.heroku.com/recorder に GET して、応答に「本当に興味深い文字列」を含めたい
これは非常に単純に聞こえるので、それができないことに非常に不満を感じています。Heroku にはエフェメラル ファイル システムがあります。これについてはすべて読みました。また、アプリ内から Heroku ログにアクセスすることはできません (私が知る限り) - コマンドライン ツールを使用できますが、それは役に立ちません。しかし、そこに必要なデータは 10 分間だけです。
これまでに試したことは次のとおりです。
- /tmp のローカル ファイルに保存 - これは時々機能しますが、Heroku が HTTP リクエストの間にディレクトリをフラッシュすると失敗します。これは予期された動作です。
- 直接ファイル書き込みを介して /log のログファイルに保存 - 上記と同じで、時々機能しますが、頻繁にフラッシュされます
- Ruby ロガーを使用して新しいログ ファイルに書き込む - 同上
- puts を使用して Heroku ログに書き込む - いいアイデアですが、Heroku ではこの方法で本番ログに書き込むことはできません。コマンドラインからアクセスできる別の場所に書き込みますが、(私が知る限り)アプリ
これは他の誰かのためのサービスであるため、AWS にサインアップしたくありません。文字通り 1 行のテキストに対して 1 TB のデータ転送にサインアップするのはばかげているようです (誰かが「記録」するたびに上書きされます)。また、文字通り 1 行のテキストが与えられた ActiveRecord 取引全体を作成したくありません。
ここに何かアイデアはありますか?マイクロキャッシュなど、使用できるものはありますか? データが約 10 分間保持されるだけで済みます。
ありがとう!
ダミアン
PS Ruby 2.0、rails 3.somethingを使用しています。