2017-10-07 5 views
0

スケジューラージョブでRails.cacheを使用する際に問題があります。ジョブは正しくスケジュールされ、Rail.cacheを使用するまで問題なくモデルロジックを実行します。キャッシュを介して情報の書き込みや読み取りはできません。私の書き込みは失敗しませんが、私がキャッシュを読んだとき、私は「無」のリターンを得ます。誰が問題を見つけ出すのを助けることができますか?RufusスケジューラージョブでRails.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

私はキャッシュに書き込むものは実際には書き込まれません。読み取りは常にnilを返します。そのため、キャッシュからの情報の読み取りに依存するコードはすべて失敗します。私はキャッシュストアとしてmemory_storeを使用します。 – user8737928

+0

http://api.rubyonrails.org/v5.1/classes/ActiveSupport/Cache/MemoryStore.htmlを使用していることを示すために質問を更新し、実行しているサーバー(乗客、ユニコーン、 puma)と、そのサーバを実行しているモード/オプションを指定します。また、write_logが収穫したもの( "Duckburgh"またはnil?)を示します。 – jmettraux

答えて

0

Rails 4からRails 5.1.2にアップグレードした後、この問題は修正されました。設定ファイルの宝石や設定の変更の量を考えると、これらの変更のどれが私の問題を解決したのか分かりません。

関連する問題