我的计数器缓存是在重载下锁定行所以我发现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
知道发生了什么事吗?我应该在工作适配器中放什么?似乎没什么用。 谢谢你的时间
答案 0 :(得分:1)
default_worker_adapter
是将处理您的更新的类的名称。在gem的github页面上给出了一个例子。例如,如果您正在使用sidekiq,那么您可以创建sidekiq worker类并根据需要为其命名。在github页面上,此类称为CounterWorker
,您可以完全按照给定的方式复制它,但您可以使用所需的任何延迟作业框架。从那时起,模型上的任何counter_cache_on
定义都将使用该类来进行计数器更新。