2017-05-09 3 views
1

私のカウンタキャッシュは重い負荷の下で行をロックしているので、私の問題には完璧と思われるwanelo/counter-cache宝石が見つかりましたが、セットアップできず、私はそれを見ることができません。 https://github.com/wanelo/counter-cache 私はすでに働いている遅延ジョブとRedisを使いたいです。私の設定ファイルでカウンタキャッシュスケールを設定する

Counter::Cache.configure do |c| 
    c.default_worker_adapter = here??? DelayedJob ?? 
    c.recalculation_delay = 5.hours 
    c.redis_pool    = Redis.new 
    c.counting_data_store = Counter::Cache::Redis 
end 

それは undefined method 'enqueue' for nil:NilClass

何が起こっている上の任意のアイデアを言う実行するとき、私はラインc.default_worker_adapterを入れていない場合は?ワーカーアダプターにはどうすればいいですか?何も動作していないようです。 ありがとうございました

+0

データベーストリガーを試してください。私は交通量の多いアプリで使っていました。 –

答えて

0

default_worker_adapterは、アップデートを処理するクラスの名前です。例は宝石のgithubページに示されています。たとえば、sidekiqを使用している場合は、sidekiqワーカークラスを作成し、必要な名前を付けます。 githubページでは、このクラスはCounterWorkerと呼ばれています。あなたが望む遅延ワークフレームワークを使用することはできますが、このクラスは与えられた通りに正確にコピーできます。それ以来、あなたのモデルのcounter_cache_on定義は、そのクラスを使用してカウンタを更新します。

関連する問題