在鲁弗斯调度工作

问题描述:

使用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与彪马。

+0

你是什么意思?“无法通过缓存写入或读取信息”?它含糊不清。 – jmettraux

+0

我的意思是,无论我写入缓存不是实际写入。读取总是返回零。所以任何依赖从缓存中读取信息的代码都会失败。我使用:memory_store作为我的缓存存储。 – user8737928

+0

请更新您的问题,以表明您使用http://api.rubyonrails.org/v5.1/classes/ActiveSupport/Cache/MemoryStore.html并指出您正在运行的服务器(乘客,独角兽,彪马)和你正在运行该服务器的模式/选项。还要指出你所写的write_log调用(“Duckburgh”或零?)。 – jmettraux

从Rails 4升级到Rails 5.1.2后,问题得到解决。鉴于配置文件中的宝石和设置的变化量,我不确定哪些更改解决了我的问题。