問題タブ [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.

0 投票する
0 に答える
111 参照

ruby - Rails ModelSweeper.instance の有効期限はありません

Rails 3.2.8、ruby 1.9.3p0 (2011-10-30 リビジョン 33570) [x86_64-linux]

メソッドを使用して別のスイーパー内でスイーパーを使用するとinstance、スイーパー関数(のような after_update)が実行されます(ログを作成して実行されます)が、プロジェクトで何も期限切れになりません。(またはタスク)

私のコードは次のとおりです。

注:expireは次の関数です

次のように、各スイーパーで各有効期限を手動で実行する必要があります。

この場合、うまくいきますが、最善ではありません。私はたくさんのモデルとたくさんのスイーパーを持っています。

なにが問題ですか?同じことをする別の方法はありますか?

ありがとう。

解決済み

ここで答えてください https://github.com/rails/rails/issues/8096

0 投票する
1 に答える
1259 参照

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

0 投票する
1 に答える
65 参照

caching - fragment_cache_key の非決定的な動作

スイーパーに次のメソッドがあります。

問題は、fragment_cache_key の呼び出しにあります。1 つのコード パスでは正しいキーを返しますが、別のコード パスでは nil を返します。どちらも同じ topic_id で呼び出され、両方とも同じコントローラーによってトリガーされますが、異なる観測モデルからトリガーされます。

これは私には意味がありません。fragment_cache_key が同じ入力に対して同じ結果を返すことを期待しています。同じキャッシュ構成が使用されている場合、副作用はありません (両方のコード パスで同じです)。

0 投票する
0 に答える
73 参照

ruby-on-rails - Rails スイーパーが期限切れのキャッシュに失敗しました

私はこのようなスイーパーを持っています。このスイーパーの目的は非常に単純で、次のコードでわかるようにいくつかのキャッシュを期限切れにするだけです。

奇妙なことに、このスイーパーは after_update で適切に期限切れになりますが、after_destroy ではキャッシュの期限が切れません。自分の ArticlesController 内で「update」を使用していますが、「destroy」は rails_admin からのものです。ただし、「/articles」のスラッシュにより、正しい ::ArticlesController と一致することが保証されると思います。何か考えはありますか?rails_admin から破棄した後にキャッシュを期限切れにできないのはなぜですか?

0 投票する
0 に答える
469 参照

ruby-on-rails - キャッシュされたアクションを更新するには?

モデルに応じて間接的にコントローラのアクション キャッシングを適切に使用する方法についてのアイデアが失われています。

バックグラウンド シナリオ:

製品オブジェクトの単純な Rails モデルを持つ

フィードのリクエストを処理し、Product インスタンスを使用してビューをレンダリングするコントローラー

ここで、製品モデルの変更を監視する必要があります。変更が検出された場合は、FeedsController からのキャッシュされたアクションが無効になり、更新されたデータで満たされていることを確認してください。私がエキゾチックなことを何も求めていないことを願っています。

これまでのところ、次のオブザーバーで終了しました。

  1. HTTP サーバーが 30 秒にハードコードされたタイムアウト エラーをスローするため、単純に GET 要求を送信してキャッシュされていないフィードをフェッチすることはできません。
  2. 製品モデルの変更を監視しているため、製品に接続されていない FeedsController のコールバックを作成する意味がありません。そのインスタンスを使用するだけです

独立したモデルの変更を監視し、他の独立したコントローラーアクションのキャッシュを更新する方法についてアドバイスはありますか?

0 投票する
1 に答える
511 参照

ruby-on-rails - rspec に Sweeper のメソッド「expire_fragment」がありません

スイーパーを使用してフラグメント キャッシュをクリアし、開発ではすべて正常に動作していますが、仕様でエラーが発生しています。

これはスイーパーです

そして、これは私がコントローラーでそれを使用している場所です

これは仕様で失敗する場所です(複数のインスタンス)

なぜその方法が見つからないのか、誰にも分かりますか?

0 投票する
0 に答える
780 参照

python - AttributeError: 'NoneType' オブジェクトに属性 '_global_run_stack' がありません

説明

A3C モデルで PTAN ライブラリを使用しており、wandb スイープを使用しようとしていますが、いくつかの奇妙な問題に遭遇しました。これがスイープに関するバグであるかどうかはわかりません (単純なモデルを使用する場合関与するスレッドがなくても適切に動作します) または私は何か間違ったことをしています。

再現方法

トレーニング機能:

主な機能:

エラーメッセージ:

環境

  • OS: マンジャロ 5.21.5
  • 環境: PyCharm ローカル
  • Python バージョン: 3.9