在鲁弗斯调度工作
问题描述:
使用Rails.cache我有在调度作业进行Rails.cache麻烦。在使用Rail.cache之前,该作业是正确安排的并执行模型逻辑,而不会出现问题。无法通过缓存写入或读取任何信息;我的写入不会失败,但是当我读取缓存时,我得到一个'零'返回。任何人都可以帮我弄清楚是什么问题?在鲁弗斯调度工作
配置/初始化/ task_scheduler.rb
scheduler = Rufus::Scheduler::singleton
scheduler.interval('10s') do
begin
Rails.cache.write('city', "Duckburgh")
stats = Rails.cache.read('city')
ApplicationController.helpers.write_log("Rufus Scheduler", "Job Completed", stats)
end
end
我在集群模式下使用Rails MemoryStore与彪马。
答
从Rails 4升级到Rails 5.1.2后,问题得到解决。鉴于配置文件中的宝石和设置的变化量,我不确定哪些更改解决了我的问题。
你是什么意思?“无法通过缓存写入或读取信息”?它含糊不清。 – jmettraux
我的意思是,无论我写入缓存不是实际写入。读取总是返回零。所以任何依赖从缓存中读取信息的代码都会失败。我使用:memory_store作为我的缓存存储。 – user8737928
请更新您的问题,以表明您使用http://api.rubyonrails.org/v5.1/classes/ActiveSupport/Cache/MemoryStore.html并指出您正在运行的服务器(乘客,独角兽,彪马)和你正在运行该服务器的模式/选项。还要指出你所写的write_log调用(“Duckburgh”或零?)。 – jmettraux