设置计数器缓存比例

时间:2017-05-09 16:47:45

标签: ruby-on-rails counter-cache

我的计数器缓存是在重载下锁定行所以我发现wanelo / counter-cache gem似乎对我的问题很完美但是我无法设置它并且它必须是非常简单但我可以& #39;看到了。 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

如果我在执行时没有放行c.default_worker_adapter说明 undefined method 'enqueue' for nil:NilClass

知道发生了什么事吗?我应该在工作适配器中放什么?似乎没什么用。 谢谢你的时间

1 个答案:

答案 0 :(得分:1)

default_worker_adapter是将处理您的更新的类的名称。在gem的github页面上给出了一个例子。例如,如果您正在使用sidekiq,那么您可以创建sidekiq worker类并根据需要为其命名。在github页面上,此类称为CounterWorker,您可以完全按照给定的方式复制它,但您可以使用所需的任何延迟作业框架。从那时起,模型上的任何counter_cache_on定义都将使用该类来进行计数器更新。