3

私のアプリ - cloudlist (cloudli.st) - は、Heroku、rails 3.2、および多数の gem を使用しています。ここ数日、デプロイの数時間後にレイアウトが崩れるのが見られるようになりました。

奇妙なことは、ファイルの内容が異なる要求でランダムに切り替わることです。Rails アセット パイプラインをすべてデフォルトで使用し、何も変更していません。デプロイ直後はすべて問題ありません。しばらくすると (通常は数時間)、一部の領域でレイアウトが壊れ始めます。1 つの画像だけが異なるコンテンツを持っている場合もあれば、JS や CSS ファイルでさえ異なるコンテンツを持っている場合もあります。また、完全に混同されたファイルも確認されています。これはすべて非常に奇妙で、ウェブ上で何も見つかりません。

問題を説明するには、間違ったコンテンツのスプライトを含む次の画像を参照してください。

ここに画像の説明を入力

ファイル frame.png の内容も参照してください。タイルのフレームを表示する必要がありますが、受賞候補者のバッジが表示されることがあります。

ここに画像の説明を入力

誰かが似たようなことを見たことがありますか、またはこれを解決する方法を知っていますか?

これが続く場合は、Heroku から移行して別のインフラストラクチャを使用する必要があります。

4

1 に答える 1

1

heroku (https://devcenter.heroku.com/articles/rack-cache-memcached-rails31) の推奨によると、結果は次のとおりです。

要するに、それは役に立ちませんでした。

長いバージョン:

私はキャッシングに memcached を使用しません。フラグメント キャッシングもアクション キャッシングも使用しません。少なくとも、アプリではキャッシュをまったく使用していません。

キャッシュされるのは、構成パラメーターによって行われるものだけです

config.action_controller.perform_caching = false

本番環境で。

記事を読み、すべてのパラメーターを確認しました。私が異なっていたのはconfig.serve_static_assetsだけで、これはfalseでした。これを true に設定し、(キャッシュをオンにして) 再デプロイしましたが、数時間後に同じ問題が発生しました。

何が問題なのかわかりませんが、私のファイルに予想と一致しないコンテンツがあるため、これはインフラストラクチャ内の何かであると結論付けなければなりません。たとえば、application-(any-digest).cssをリクエストすると、sprite-(any-digest).pngまたはapplication-(any-digest).jsが返されます。

于 2012-09-16T08:44:45.167 に答える