問題タブ [cache-digests]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 自己参照型テンプレートが、コンソールとレーキではキャッシュ ダイジェスト計算を中断するのに、サーバーでは中断しないのはなぜですか?
互いに参照する 2 つのパーシャルがあります。コンソールでネストされた依存関係を計算すると、次のようになります (どのテンプレートがロードされているかを出力するデバッグ コードがいくつかあります)。
または次のようにrakeタスクを介して:
最初の依存関係の短いリストを取得し、Ruby スタックがいっぱいになるまでこれを無限ループにします。
(テンプレート名が変更されました)
ただし、アプリ サーバーを実行してテンプレートを要求すると、問題なく実行され、無限ループは発生しません。
上記のすべてのケースでの私の設定は次のとおりです。
このコードは、再帰参照保護があることを示しています: https://github.com/rails/rails/blob/v4.1.8/actionview/lib/action_view/digestor.rb#L35
この保護がサーバー環境では機能するのに、コンソールや rake タスクでは機能しないのはなぜですか?
(これも github の問題https://github.com/rails/rails/issues/18667 )
caching - 一晩でキャッシュ ダイジェストをウォームアップする
Rails 3.2 の Web サイトはかなり大きく、数千の URL があります。ロシア人形のキャッシュ用に Cache_Digests gem を実装しました。それはうまくいっています。ユーザーが日中により良い体験を得られるように、一晩中キャッシュをウォームアップすることでさらに最適化したいと考えています。この質問に対する回答を見ました: Rails: キャッシュをウォームアップするスケジュールされたタスク?
多数の URL をウォームアップするために変更できますか?