問題タブ [sweeper]
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 - Rails ModelSweeper.instance の有効期限はありません
Rails 3.2.8、ruby 1.9.3p0 (2011-10-30 リビジョン 33570) [x86_64-linux]
メソッドを使用して別のスイーパー内でスイーパーを使用するとinstance
、スイーパー関数(のような after_update
)が実行されます(ログを作成して実行されます)が、プロジェクトで何も期限切れになりません。(またはタスク)
私のコードは次のとおりです。
注:expire
は次の関数です
次のように、各スイーパーで各有効期限を手動で実行する必要があります。
この場合、うまくいきますが、最善ではありません。私はたくさんのモデルとたくさんのスイーパーを持っています。
なにが問題ですか?同じことをする別の方法はありますか?
ありがとう。
解決済み
ruby-on-rails - Rails で expire_action を実行できません
tl;dr
以下のexpire_index
メソッドが呼び出さputs
れています。ログに が表示されます。ただし、ページを更新すると古いバージョンです。
注:モデルの更新には rails_admin を使用しています。しかし、Rails コンソールを直接使用しても同じ動作に気付きました。
ご協力いただきありがとうございます。とても有難い!
詳細
app/controllers/posts_controller.rb
app/sweepers/post_sweeper.rb
config/environments/production.rb
caching - fragment_cache_key の非決定的な動作
スイーパーに次のメソッドがあります。
問題は、fragment_cache_key の呼び出しにあります。1 つのコード パスでは正しいキーを返しますが、別のコード パスでは nil を返します。どちらも同じ topic_id で呼び出され、両方とも同じコントローラーによってトリガーされますが、異なる観測モデルからトリガーされます。
これは私には意味がありません。fragment_cache_key が同じ入力に対して同じ結果を返すことを期待しています。同じキャッシュ構成が使用されている場合、副作用はありません (両方のコード パスで同じです)。
ruby-on-rails - Rails スイーパーが期限切れのキャッシュに失敗しました
私はこのようなスイーパーを持っています。このスイーパーの目的は非常に単純で、次のコードでわかるようにいくつかのキャッシュを期限切れにするだけです。
奇妙なことに、このスイーパーは after_update で適切に期限切れになりますが、after_destroy ではキャッシュの期限が切れません。自分の ArticlesController 内で「update」を使用していますが、「destroy」は rails_admin からのものです。ただし、「/articles」のスラッシュにより、正しい ::ArticlesController と一致することが保証されると思います。何か考えはありますか?rails_admin から破棄した後にキャッシュを期限切れにできないのはなぜですか?
ruby-on-rails - キャッシュされたアクションを更新するには?
モデルに応じて間接的にコントローラのアクション キャッシングを適切に使用する方法についてのアイデアが失われています。
バックグラウンド シナリオ:
製品オブジェクトの単純な Rails モデルを持つ
フィードのリクエストを処理し、Product インスタンスを使用してビューをレンダリングするコントローラー
ここで、製品モデルの変更を監視する必要があります。変更が検出された場合は、FeedsController からのキャッシュされたアクションが無効になり、更新されたデータで満たされていることを確認してください。私がエキゾチックなことを何も求めていないことを願っています。
これまでのところ、次のオブザーバーで終了しました。
- HTTP サーバーが 30 秒にハードコードされたタイムアウト エラーをスローするため、単純に GET 要求を送信してキャッシュされていないフィードをフェッチすることはできません。
- 製品モデルの変更を監視しているため、製品に接続されていない FeedsController のコールバックを作成する意味がありません。そのインスタンスを使用するだけです
独立したモデルの変更を監視し、他の独立したコントローラーアクションのキャッシュを更新する方法についてアドバイスはありますか?
ruby-on-rails - rspec に Sweeper のメソッド「expire_fragment」がありません
スイーパーを使用してフラグメント キャッシュをクリアし、開発ではすべて正常に動作していますが、仕様でエラーが発生しています。
これはスイーパーです
そして、これは私がコントローラーでそれを使用している場所です
これは仕様で失敗する場所です(複数のインスタンス)
なぜその方法が見つからないのか、誰にも分かりますか?
python - AttributeError: 'NoneType' オブジェクトに属性 '_global_run_stack' がありません
説明
A3C モデルで PTAN ライブラリを使用しており、wandb スイープを使用しようとしていますが、いくつかの奇妙な問題に遭遇しました。これがスイープに関するバグであるかどうかはわかりません (単純なモデルを使用する場合関与するスレッドがなくても適切に動作します) または私は何か間違ったことをしています。
再現方法
トレーニング機能:
主な機能:
エラーメッセージ:
環境
- OS: マンジャロ 5.21.5
- 環境: PyCharm ローカル
- Python バージョン: 3.9