2017-10-07 108 views
0

使用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

回答

0

從Rails 4升級到Rails 5.1.2後,問題得到解決。鑑於配置文件中的寶石和設置的變化量,我不確定哪些更改解決了我的問題。